SlideShare a Scribd company logo
Barcelona Python Meetup



Plotting data with python and
            pylab
        Giovanni M. Dall'Olio
Problem statement
   Let's say we have a table of data like this:
     name        country     apples      pears
     Giovanni    Italy       31          13
     Mario       Italy       23          33
     Luigi       Italy       0           5
     Margaret    England     22          13
     Albert      Germany     15          6

   How to read it in python?
   How to do some basic plotting?
Alternatives for plotting
          data in python
   Pylab (enthought)→ Matlab/Octave approach
   Enthought → extended version of Pylab (free for 
     academic use)
   rpy/rpy2 → allows to run R commands within 
      python
   Sage → interfaces python with Matlab, R, octave, 
      mathematica, ...
The Pylab system
   pylab is a system of three libraries, which together 
     transform python in a Matlab­like environment
   It is composed by:
          Numpy (arrays, matrices, complex numbers, etc.. in 
            python)
          Scipy (extended scientific/statistics functions)
          Matplotlib (plotting library)
          iPython (extended interactive interpreter)
How to install pylab
   There are many alternatives to install PyLab:
          use the package manager of your linux distro 
          use enthought's distribution (
             http://www.enthought.com/products/epd.php) (free 
             for academic use)
          compile and google for help!
   Numpy and scipy contains some Fortran libraries, 
     therefore easy_install doesn't work well with 
     them
ipython -pylab
   Ipython is an extended version of the standard 
      python interpreter
   It has a modality especially designed for pylab
   The standard python interpreter doesn't support 
     very well plotting (not multi­threading)
   So if you want an interactive interpreter, use 
     ipython with the pylab option:

           $: alias pylab=”ipython -pylab”
           $: pylab

        In [1]:
Why the python interpreter
is not the best for plotting




     Gets blocked when you create a plot
How to read a CSV file with
         python
   To read a file like this in pylab:
      name        country     apples     pears
      Giovanni    Italy       31         13
      Mario       Italy       23         33
      Luigi       Italy       0          5
      Margaret    England     22         13
      Albert      Germany     15         6

   → Use the function 'matplotlib.mlab.csv2rec'
         >>> data = csv2rec('exampledata.txt',
           delimiter='t')
Numpy - record arrays
   csv2rec stores data in a numpy recarray object, where 
      you can access columns and rows easily:
     >>> print data['name']
     ['Giovanni' 'Mario' 'Luigi' 'Margaret'
      'Albert']

     >>> data['apples']
     array([31, 23, 0, 22, 15])

     >>> data[1]
     ('Mario', 'Italy', 23, 33)
Alternative to csv2rec
   numpy.genfromtxt (new in 2009)
   More options than csv2rec, included in numpy
   Tricky default parameters: need to specify dtype=None

      >>> data = numpy.genfromtxt('datafile.txt',
     dtype=None)
      >>> data
      array....
Barchart
>>> data = csv2rec('exampledata.txt', delimiter='t')

>>> bar(arange(len(data)), data['apples'], color='red',
width=0.1, label='apples')

>>> bar(arange(len(data))+0.1, data['pears'],
color='blue', width=0.1, label='pears')

>>> xticks(range(len(data)), data['name'], )

>>> legend()

>>> grid('.')
Barchart
  >>> data = csv2rec('exampledata.txt',
delimiter='t')

>>> figure()
>>> clf()


 Read a CSV file and storing 
  it in a recordarray object


 Use figure() and cls() to 
  reset the graphic device
Barchart
>>> data = csv2rec('exampledata.txt',
delimiter='t')

>>> bar(x=arange(len(data)), y=data['apples'],
color='red', width=0.1, label='apples')

   The bar function creates a 
     barchart
Barchart
>>> data = csv2rec('exampledata.txt',
delimiter='t')

>>> bar(x=arange(len(data)), y=data['apples'],
color='red', width=0.1, label='apples')

>>> bar(arange(len(data))+0.1, data['pears'],
color='blue', width=0.1, label='pears')


   This is the second barchart
Barchart
>>> data = csv2rec('exampledata.txt',
delimiter='t')

>>> bar(x=arange(len(data)), y=data['apples'],
color='red', width=0.1, label='apples')

>>> bar(arange(len(data))+0.1, data['pears'],
color='blue', width=0.1, label='pears')


>>> xticks(range(len(data)), data['name'], )


   Re­defining the labels in the X axis 
     (xticks)
Barchart
>>> data = csv2rec('exampledata.txt',
delimiter='t')

>>> bar(x=arange(len(data)), y=data['apples'],
color='red', width=0.1, label='apples')

>>> bar(arange(len(data))+0.1, data['pears'],
color='blue', width=0.1, label='pears')

>>> xticks(range(len(data)), data['name'], )

>>> legend()
>>> grid('.')
>>> title('apples and pears by person')

   Adding legend, grid, title
Barchart (result)
Pie Chart
>>> pie(data['pears'], labels=data['name'])
>>> pie(data['pears'], labels=['%sn(%s
  pears)' % (i,j) for (i, j) in
  zip(data['name'], data['pears'])] )
Pie chart (result)
A plot chart
>>> x = linspace(1,10, 10)
>>> y = randn(10)
>>> plot(x,y, 'r.', ms=15)
 
An histogram
>>> x = randn(1000)
>>> hist(x, bins=40)
>>> title('histogram of random numbers')
 
Matplotlib gallery
Scipy Cookbook
Thanks for the attention!!
   PyLab ­ http://www.scipy.org/PyLab 
   matplotlib ­ http://matplotlib.sourceforge.net/ 
   scipy ­ http://www.scipy.org/ 
   numpy ­ http://numpy.scipy.org/ 
   ipython ­ http://ipython.scipy.org/moin/ 


   These slides: http://bioinfoblog.it 

More Related Content

PDF
Python NumPy Tutorial | NumPy Array | Edureka
Edureka!
 
PPTX
Introduction to numpy
Gaurav Aggarwal
 
PPTX
Data Analysis in Python-NumPy
Devashish Kumar
 
PPTX
Python pandas Library
Md. Sohag Miah
 
PDF
Pandas
maikroeder
 
PDF
Data Visualization in Python
Jagriti Goswami
 
PDF
Data visualization
Moushmi Dasgupta
 
KEY
NumPy/SciPy Statistics
Enthought, Inc.
 
Python NumPy Tutorial | NumPy Array | Edureka
Edureka!
 
Introduction to numpy
Gaurav Aggarwal
 
Data Analysis in Python-NumPy
Devashish Kumar
 
Python pandas Library
Md. Sohag Miah
 
Pandas
maikroeder
 
Data Visualization in Python
Jagriti Goswami
 
Data visualization
Moushmi Dasgupta
 
NumPy/SciPy Statistics
Enthought, Inc.
 

What's hot (20)

PDF
MIT Deep Learning Basics: Introduction and Overview by Lex Fridman
Peerasak C.
 
PDF
Introduction to Machine Learning with SciKit-Learn
Benjamin Bengfort
 
PPTX
Numpy
Jyoti shukla
 
PPSX
Frequent itemset mining methods
Prof.Nilesh Magar
 
PDF
Data Analysis and Visualization using Python
Chariza Pladin
 
PPTX
Deep Learning With Neural Networks
Aniket Maurya
 
PPTX
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...
Simplilearn
 
PPTX
Python Seaborn Data Visualization
Sourabh Sahu
 
PPTX
PYTHON-Chapter 4-Plotting and Data Science PyLab - MAULIK BORSANIYA
Maulik Borsaniya
 
PPTX
Data Preprocessing
zekeLabs Technologies
 
PDF
Density Based Clustering
SSA KPI
 
PPTX
web mining
Arpit Verma
 
PDF
pandas - Python Data Analysis
Andrew Henshaw
 
PDF
Unsupervised Learning in Machine Learning
Pyingkodi Maran
 
PDF
Introduction to Python Pandas for Data Analytics
Phoenix
 
PPTX
An introduction to Jupyter notebooks and the Noteable service
Jisc
 
PDF
Data Visualization(s) Using Python
Aniket Maithani
 
PPTX
NumPy
AbhijeetAnand88
 
PPTX
Data Science: Past, Present, and Future
Gregory Piatetsky-Shapiro
 
MIT Deep Learning Basics: Introduction and Overview by Lex Fridman
Peerasak C.
 
Introduction to Machine Learning with SciKit-Learn
Benjamin Bengfort
 
Frequent itemset mining methods
Prof.Nilesh Magar
 
Data Analysis and Visualization using Python
Chariza Pladin
 
Deep Learning With Neural Networks
Aniket Maurya
 
What is TensorFlow? | Introduction to TensorFlow | TensorFlow Tutorial For Be...
Simplilearn
 
Python Seaborn Data Visualization
Sourabh Sahu
 
PYTHON-Chapter 4-Plotting and Data Science PyLab - MAULIK BORSANIYA
Maulik Borsaniya
 
Data Preprocessing
zekeLabs Technologies
 
Density Based Clustering
SSA KPI
 
web mining
Arpit Verma
 
pandas - Python Data Analysis
Andrew Henshaw
 
Unsupervised Learning in Machine Learning
Pyingkodi Maran
 
Introduction to Python Pandas for Data Analytics
Phoenix
 
An introduction to Jupyter notebooks and the Noteable service
Jisc
 
Data Visualization(s) Using Python
Aniket Maithani
 
Data Science: Past, Present, and Future
Gregory Piatetsky-Shapiro
 
Ad

Similar to Plotting data with python and pylab (20)

PDF
Migrating from matlab to python
ActiveState
 
PPTX
DATA ANALYSIS AND VISUALISATION using python
ChiragNahata2
 
PPTX
data science for engineering reference pdf
fatehiaryaa
 
PPTX
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python.pptx
kalai75
 
PPTX
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python (3).pptx
smartashammari
 
PPTX
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python.pptx
Ogunsina1
 
PPTX
Introduction to Pylab and Matploitlib.
yazad dumasia
 
PDF
Python for scientific computing
Go Asgard
 
PDF
Python for Chemistry
baoilleach
 
PDF
Python for Chemistry
guest5929fa7
 
PPTX
iPython
Aman Lalpuria
 
PDF
Introduction to jupyter pandas and matplotlib
tlsghalbi
 
PPTX
2.2-Intro-NumPy-Matplotlib.pptx
abdul623429
 
PPTX
python-numpyandpandas-170922144956 (1).pptx
Akashgupta517936
 
PPTX
python-numwpyandpandas-170922144956.pptx
smartashammari
 
PPTX
UNIT_4_data visualization.pptx
BhagyasriPatel2
 
PPTX
Python.pptx
SajjadAbdullah4
 
PPTX
1_ Introduction Python.pptx python is a data
rinkiabhi2014
 
PPTX
Matplot Lib Practicals artificial intelligence.pptx
PianoPianist
 
PPTX
CS 151 Graphing lecture
Rudy Martinez
 
Migrating from matlab to python
ActiveState
 
DATA ANALYSIS AND VISUALISATION using python
ChiragNahata2
 
data science for engineering reference pdf
fatehiaryaa
 
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python.pptx
kalai75
 
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python (3).pptx
smartashammari
 
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python.pptx
Ogunsina1
 
Introduction to Pylab and Matploitlib.
yazad dumasia
 
Python for scientific computing
Go Asgard
 
Python for Chemistry
baoilleach
 
Python for Chemistry
guest5929fa7
 
iPython
Aman Lalpuria
 
Introduction to jupyter pandas and matplotlib
tlsghalbi
 
2.2-Intro-NumPy-Matplotlib.pptx
abdul623429
 
python-numpyandpandas-170922144956 (1).pptx
Akashgupta517936
 
python-numwpyandpandas-170922144956.pptx
smartashammari
 
UNIT_4_data visualization.pptx
BhagyasriPatel2
 
Python.pptx
SajjadAbdullah4
 
1_ Introduction Python.pptx python is a data
rinkiabhi2014
 
Matplot Lib Practicals artificial intelligence.pptx
PianoPianist
 
CS 151 Graphing lecture
Rudy Martinez
 
Ad

More from Giovanni Marco Dall'Olio (20)

PPTX
Applicazioni di chatGPT e altri LLMs per la ricerca di farmaci
Giovanni Marco Dall'Olio
 
PDF
Fehrman Nat Gen 2014 - Journal Club
Giovanni Marco Dall'Olio
 
PDF
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...
Giovanni Marco Dall'Olio
 
PDF
Agile bioinf
Giovanni Marco Dall'Olio
 
PDF
Version control
Giovanni Marco Dall'Olio
 
PDF
Linux intro 5 extra: awk
Giovanni Marco Dall'Olio
 
PDF
Linux intro 5 extra: makefiles
Giovanni Marco Dall'Olio
 
PDF
Linux intro 4 awk + makefile
Giovanni Marco Dall'Olio
 
PDF
Linux intro 3 grep + Unix piping
Giovanni Marco Dall'Olio
 
PDF
Linux intro 2 basic terminal
Giovanni Marco Dall'Olio
 
PDF
Linux intro 1 definitions
Giovanni Marco Dall'Olio
 
PDF
Wagner chapter 5
Giovanni Marco Dall'Olio
 
PDF
Wagner chapter 4
Giovanni Marco Dall'Olio
 
PDF
Wagner chapter 3
Giovanni Marco Dall'Olio
 
PDF
Wagner chapter 2
Giovanni Marco Dall'Olio
 
PDF
Wagner chapter 1
Giovanni Marco Dall'Olio
 
PDF
Hg for bioinformatics, second part
Giovanni Marco Dall'Olio
 
PDF
Hg version control bioinformaticians
Giovanni Marco Dall'Olio
 
PDF
The true story behind the annotation of a pathway
Giovanni Marco Dall'Olio
 
Applicazioni di chatGPT e altri LLMs per la ricerca di farmaci
Giovanni Marco Dall'Olio
 
Fehrman Nat Gen 2014 - Journal Club
Giovanni Marco Dall'Olio
 
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...
Giovanni Marco Dall'Olio
 
Version control
Giovanni Marco Dall'Olio
 
Linux intro 5 extra: awk
Giovanni Marco Dall'Olio
 
Linux intro 5 extra: makefiles
Giovanni Marco Dall'Olio
 
Linux intro 4 awk + makefile
Giovanni Marco Dall'Olio
 
Linux intro 3 grep + Unix piping
Giovanni Marco Dall'Olio
 
Linux intro 2 basic terminal
Giovanni Marco Dall'Olio
 
Linux intro 1 definitions
Giovanni Marco Dall'Olio
 
Wagner chapter 5
Giovanni Marco Dall'Olio
 
Wagner chapter 4
Giovanni Marco Dall'Olio
 
Wagner chapter 3
Giovanni Marco Dall'Olio
 
Wagner chapter 2
Giovanni Marco Dall'Olio
 
Wagner chapter 1
Giovanni Marco Dall'Olio
 
Hg for bioinformatics, second part
Giovanni Marco Dall'Olio
 
Hg version control bioinformaticians
Giovanni Marco Dall'Olio
 
The true story behind the annotation of a pathway
Giovanni Marco Dall'Olio
 

Recently uploaded (20)

PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PPTX
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
PPT
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
Software Development Methodologies in 2025
KodekX
 
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 

Plotting data with python and pylab

  • 1. Barcelona Python Meetup Plotting data with python and pylab Giovanni M. Dall'Olio
  • 2. Problem statement  Let's say we have a table of data like this: name country apples pears Giovanni Italy 31 13 Mario Italy 23 33 Luigi Italy 0 5 Margaret England 22 13 Albert Germany 15 6  How to read it in python?  How to do some basic plotting?
  • 3. Alternatives for plotting data in python  Pylab (enthought)→ Matlab/Octave approach  Enthought → extended version of Pylab (free for  academic use)  rpy/rpy2 → allows to run R commands within  python  Sage → interfaces python with Matlab, R, octave,  mathematica, ...
  • 4. The Pylab system  pylab is a system of three libraries, which together  transform python in a Matlab­like environment  It is composed by:  Numpy (arrays, matrices, complex numbers, etc.. in  python)  Scipy (extended scientific/statistics functions)  Matplotlib (plotting library)  iPython (extended interactive interpreter)
  • 5. How to install pylab  There are many alternatives to install PyLab:  use the package manager of your linux distro   use enthought's distribution ( http://www.enthought.com/products/epd.php) (free  for academic use)  compile and google for help!  Numpy and scipy contains some Fortran libraries,  therefore easy_install doesn't work well with  them
  • 6. ipython -pylab  Ipython is an extended version of the standard  python interpreter  It has a modality especially designed for pylab  The standard python interpreter doesn't support  very well plotting (not multi­threading)  So if you want an interactive interpreter, use  ipython with the pylab option:      $: alias pylab=”ipython -pylab” $: pylab In [1]:
  • 7. Why the python interpreter is not the best for plotting Gets blocked when you create a plot
  • 8. How to read a CSV file with python  To read a file like this in pylab: name country apples pears Giovanni Italy 31 13 Mario Italy 23 33 Luigi Italy 0 5 Margaret England 22 13 Albert Germany 15 6  → Use the function 'matplotlib.mlab.csv2rec' >>> data = csv2rec('exampledata.txt', delimiter='t')
  • 9. Numpy - record arrays  csv2rec stores data in a numpy recarray object, where  you can access columns and rows easily: >>> print data['name'] ['Giovanni' 'Mario' 'Luigi' 'Margaret' 'Albert'] >>> data['apples'] array([31, 23, 0, 22, 15]) >>> data[1] ('Mario', 'Italy', 23, 33)
  • 10. Alternative to csv2rec  numpy.genfromtxt (new in 2009)  More options than csv2rec, included in numpy  Tricky default parameters: need to specify dtype=None >>> data = numpy.genfromtxt('datafile.txt', dtype=None) >>> data array....
  • 11. Barchart >>> data = csv2rec('exampledata.txt', delimiter='t') >>> bar(arange(len(data)), data['apples'], color='red', width=0.1, label='apples') >>> bar(arange(len(data))+0.1, data['pears'], color='blue', width=0.1, label='pears') >>> xticks(range(len(data)), data['name'], ) >>> legend() >>> grid('.')
  • 12. Barchart >>> data = csv2rec('exampledata.txt', delimiter='t') >>> figure() >>> clf() Read a CSV file and storing  it in a recordarray object Use figure() and cls() to  reset the graphic device
  • 13. Barchart >>> data = csv2rec('exampledata.txt', delimiter='t') >>> bar(x=arange(len(data)), y=data['apples'], color='red', width=0.1, label='apples')  The bar function creates a  barchart
  • 14. Barchart >>> data = csv2rec('exampledata.txt', delimiter='t') >>> bar(x=arange(len(data)), y=data['apples'], color='red', width=0.1, label='apples') >>> bar(arange(len(data))+0.1, data['pears'], color='blue', width=0.1, label='pears')  This is the second barchart
  • 15. Barchart >>> data = csv2rec('exampledata.txt', delimiter='t') >>> bar(x=arange(len(data)), y=data['apples'], color='red', width=0.1, label='apples') >>> bar(arange(len(data))+0.1, data['pears'], color='blue', width=0.1, label='pears') >>> xticks(range(len(data)), data['name'], )  Re­defining the labels in the X axis  (xticks)
  • 16. Barchart >>> data = csv2rec('exampledata.txt', delimiter='t') >>> bar(x=arange(len(data)), y=data['apples'], color='red', width=0.1, label='apples') >>> bar(arange(len(data))+0.1, data['pears'], color='blue', width=0.1, label='pears') >>> xticks(range(len(data)), data['name'], ) >>> legend() >>> grid('.') >>> title('apples and pears by person')  Adding legend, grid, title
  • 18. Pie Chart >>> pie(data['pears'], labels=data['name']) >>> pie(data['pears'], labels=['%sn(%s pears)' % (i,j) for (i, j) in zip(data['name'], data['pears'])] )
  • 20. A plot chart >>> x = linspace(1,10, 10) >>> y = randn(10) >>> plot(x,y, 'r.', ms=15)  
  • 21. An histogram >>> x = randn(1000) >>> hist(x, bins=40) >>> title('histogram of random numbers')  
  • 24. Thanks for the attention!!  PyLab ­ http://www.scipy.org/PyLab   matplotlib ­ http://matplotlib.sourceforge.net/   scipy ­ http://www.scipy.org/   numpy ­ http://numpy.scipy.org/   ipython ­ http://ipython.scipy.org/moin/   These slides: http://bioinfoblog.it