Difference between revisions of "Python-3.4.3/C2/Plotting-Charts/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Title of script''': '''plotting charts'''
+
'''Title of script: Plotting Charts'''
  
 
'''Author: Trupti Kini, Thirumalesh H S'''
 
'''Author: Trupti Kini, Thirumalesh H S'''
Line 16: Line 16:
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Hello friends. Welcome to the tutorial on '''plotting'''  Narrator name is missing in the first slide
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Hello friends. Welcome to the tutorial on '''plotting charts'''  
'''charts'''
+
  
 
|-
 
|-
Line 23: Line 22:
  
 
Learning Objectives  
 
Learning Objectives  
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| At the end of this tutorial, you will be able to -  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| At the end of this tutorial, you will be able to -  
 
  
 
* Create '''pie charts'''
 
* Create '''pie charts'''
 
* Create '''bar charts '''and
 
* Create '''bar charts '''and
 
* Find more information on '''matplotlib'''
 
* Find more information on '''matplotlib'''
 
 
  
 
|-
 
|-
Line 44: Line 38:
 
* '''Python 3.4.3'''
 
* '''Python 3.4.3'''
 
* '''IPython 5.1.0'''
 
* '''IPython 5.1.0'''
 
 
  
 
|-
 
|-
Line 60: Line 52:
  
 
|-
 
|-
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [Terminal]
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Open [Terminal] and type
  
 
'''ipython3'''
 
'''ipython3'''
 
  
  
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0125in;padding-right:0.075in;"| Let us first open the '''Terminal '''by pressing '''Ctrl+Alt+T '''keys simultaneously.  
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0125in;padding-right:0.075in;"| Let us first open the '''Terminal '''by pressing '''Ctrl+Alt+T '''keys simultaneously.  
 
  
 
Now, type '''ipython3''' and press '''Enter'''.  
 
Now, type '''ipython3''' and press '''Enter'''.  
Line 74: Line 64:
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0125in;padding-right:0.075in;"| [IPython console]
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0125in;padding-right:0.075in;"| [IPython console]
  
'''%pylab '''and press '''Enter.'''
+
type '''%pylab '''and press '''Enter.'''
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0125in;padding-right:0.075in;"| Let us initialise the '''pylab''' package.
+
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0125in;padding-right:0.075in;"| Let us initialize the '''pylab''' package.
 
+
  
 
Type '''%pylab '''and press''' Enter.'''
 
Type '''%pylab '''and press''' Enter.'''
Line 85: Line 74:
 
'''Pie chart'''
 
'''Pie chart'''
  
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| A '''pie''' '''chart''' is a circular chart divided into sectors, to illustrate numerical proportion
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| A '''pie''' '''chart''' is a circular chart divided into sectors, change the text in slide
+
 
+
to illustrate numerical proportion
+
  
 
|-
 
|-
Line 106: Line 91:
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| The syntax for pie() function is as follows:
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| The syntax for pie() function is as follows:
  
 +
'''pie ''inside parentheses'' values ''comma'' labels ''equal to'' labels'''
  
'''pie(values, labels= labels)'''
+
* where '''values are '''the data to be plotted
 
+
* and '''labels''' – the label for each wedge in the pie chart
* '''values '''the data to be plotted
+
* '''labels''' – the label for each wedge in the pie chart
+
 
+
 
+
  
 
|-
 
|-
Line 121: Line 103:
 
* Plot a '''pie''' '''chart''' representing the profit percentage of company A.  
 
* Plot a '''pie''' '''chart''' representing the profit percentage of company A.  
  
* Use the data from file '''company-a-data.txt'''
+
* Use the data from file '''company-a-data.txt''' available in the code file link of this tutorial
 
+
available in the code file link of this tutorial
+
 
+
 
+
 
+
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [File browser]
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [File browser]
  
Open the '''file''' '''company-a-data.txt''' and show the content
+
Open the file '''company-a-data.txt''' and show the content
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| The data file has two columns with a set of values in each column.
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| The data file has two columns with a set of values in each column.
  
 
+
The first column represents years. The second column represents the profit percentages.
The first line represents years. The second column represents the profit percentages.
+
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [IPython Terminal]
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [IPython Terminal]
 
  
 
'''year, profit = loadtxt('company-a-data.txt', unpack = True)'''
 
'''year, profit = loadtxt('company-a-data.txt', unpack = True)'''
  
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| To produce a scatter plot, we first need to load the data from the file using '''loadtxt''' command.
  
 
+
Let us clear the '''terminal'''.
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| To produce a scatter plot,
+
 
+
 
+
we first need to load the data from the file using '''loadtxt''' command.
+
  
 
Type
 
Type
  
 +
'''year ''comma'' profit ''equal to'' loadtxt ''inside parentheses inside single quotes'' add the path of the file company-a-data.txt ''comma'' unpack ''equal to'' True''' and press '''Enter'''
  
'''year, profit = loadtxt('add/path/company-a-data.txt', unpack = True)'''
+
'''unpack ''equal to'' True --> returns''' the '''transposed array '''of '''data'''.
 
+
 
+
'''unpack = True --> returns''' the '''transposed array '''of '''data'''
+
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [Ipython Terminal]
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [Ipython Terminal]
 
  
 
'''clf()'''
 
'''clf()'''
Line 166: Line 135:
 
'''pie(profit,labels=year)'''
 
'''pie(profit,labels=year)'''
  
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Type '''clf ''open and close parentheses'' '''to clear the plot window, if any plots executed previously.
  
 
+
Type '''pie(profit ''comma'' labels equal to year)''' and press '''Enter'''.
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Type '''clf() '''to clear the plot window, if any plots executed previously.
+
 
+
 
+
Type '''pie(profit,labels=year)'''
+
 
+
 
+
 
+
  
 
|-
 
|-
Line 182: Line 145:
 
Show '''pie chart '''plot
 
Show '''pie chart '''plot
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Notice that we passed two arguments to the function '''pie()'''.  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Notice that we passed two arguments to the function '''pie()'''.  
 
  
 
First one being the '''values,''' which is '''profit''' in our case.
 
First one being the '''values,''' which is '''profit''' in our case.
 
  
 
The next one being the set of '''labels''' to be used in the '''pie chart''', which is '''year''' in our case.
 
The next one being the set of '''labels''' to be used in the '''pie chart''', which is '''year''' in our case.
Line 194: Line 155:
 
Exercise 2
 
Exercise 2
  
 +
| style="border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Pause the video here.
  
 
+
Try out the following exercise and resume the video.
| style="border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Pause the video here, try out the following exercise and resume the video.
+
 
+
  
  
 
Plot a '''pie''' '''chart''' with the same data with the following colors for each wedges.
 
Plot a '''pie''' '''chart''' with the same data with the following colors for each wedges.
 
  
 
* '''white, red, black, magenta,'''
 
* '''white, red, black, magenta,'''
Line 207: Line 166:
 
* '''yellow, magenta '''and''' blue'''.
 
* '''yellow, magenta '''and''' blue'''.
  
Hint: In your '''ipython interpreter, '''try typing '''pie?'''
+
Hint: In your '''ipython interpreter, '''try typing '''pie question mark'''.
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [IPython Terminal]  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| [IPython Terminal]  
 
  
 
'''clf()'''
 
'''clf()'''
 
  
 
'''pie(profit,labels=year,colors=('w','r','k','m','y','b','g','c','y','m','b'))'''
 
'''pie(profit,labels=year,colors=('w','r','k','m','y','b','g','c','y','m','b'))'''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Solution to Exercise 2
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Solution to Exercise 2
  
 +
Clear the '''plot window '''by typing '''clf open and close parentheses''' and press '''Enter'''.
  
Clear the '''plot window '''by typing '''clf()'''
+
Type '''pie inside parentheses profit comma labels equal to year comma colors equal to inside parentheses the color codes ''' and press '''Enter'''.
 
+
 
+
Type '''pie(profit,labels=year,colors=('w','r','k','m','y','b','g','c','y','m','b')) '''
+
 
+
  
 
This will display a pie chart with each wedge having the color as specified in the parameters.
 
This will display a pie chart with each wedge having the color as specified in the parameters.
 
 
 
  
 
|-
 
|-
Line 238: Line 187:
  
 
'''Bar chart'''
 
'''Bar chart'''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| A '''bar chart''' is a '''chart'''
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| A '''bar chart''' is a '''chart'''
Line 245: Line 192:
 
* with rectangular bars  
 
* with rectangular bars  
 
* with lengths proportional to the values that they represent.
 
* with lengths proportional to the values that they represent.
 
 
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Show Slide
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Show Slide
 
  
 
'''bar()''' function
 
'''bar()''' function
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| The syntax for bar graph is:
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| The syntax for bar chart is:
  
'''bar(x, y)'''
+
'''bar ''inside parentheses'' x ''comma'' y'''
  
* '''x –''' a sequence of data
+
* where '''x –''' a sequence of data and
 
* '''y '''- a sequence of data, the same length of x
 
* '''y '''- a sequence of data, the same length of x
 
 
  
 
|-
 
|-
Line 266: Line 208:
  
 
Exercise 3
 
Exercise 3
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"|  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"|  
Line 273: Line 213:
  
 
* Use the data from file '''company-a-data.txt'''.
 
* Use the data from file '''company-a-data.txt'''.
 
 
  
 
|-
 
|-
Line 283: Line 221:
  
 
'''bar(year, profit)'''
 
'''bar(year, profit)'''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Solution to Exercise 3
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Solution to Exercise 3
  
 +
Clear the '''plot window '''by typing '''clf ''open and close parentheses'''''
  
Clear the '''plot window '''by typing '''clf()'''
+
Type '''bar ''open and close parentheses'' year ''comma'' profit''' and press '''Enter'''.
 
+
 
+
 
+
Type '''bar(year, profit)'''
+
 
+
  
 
This will display a bar chart representing the profit percentage of company A
 
This will display a bar chart representing the profit percentage of company A
Line 302: Line 234:
  
 
Exercise 4
 
Exercise 4
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Plot a '''bar chart '''as shown in the image:
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Plot a '''bar chart '''as shown in the image:
  
 
+
<u>'''Hint'''</u>: Bar chart is not filled and which is '''hatched''' with 45<sup>o</sup> slanting lines.
<u>'''Hint'''</u>: Bar chart is not filled and which is '''hatched''' with 45<sup>o</sup> slanting lines,
+
  
 
The data for the chart may be obtained from the file '''company-a-data.txt'''.
 
The data for the chart may be obtained from the file '''company-a-data.txt'''.
  
 +
Hint: In your '''ipython interpreter, '''try typing '''bar ''question mark'''''
  
Hint: In your '''ipython interpreter, '''try typing '''bar?'''
 
 
Clue is to try typing '''bar? '''In '''ipython interpreter.'''
 
  
 
|-
 
|-
Line 321: Line 248:
  
 
'''clf()'''
 
'''clf()'''
 
  
 
'''bar(year,profit,fill=False,hatch='/')'''
 
'''bar(year,profit,fill=False,hatch='/')'''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Solution to Exercise 4
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Solution to Exercise 4
  
 +
Clear the '''plot window '''by typing '''clf ''open and close parentheses'''''
  
Clear the '''plot window '''by typing '''clf()'''
+
Type '''bar ''open and close parentheses'' year ''comma'' profit ''comma'' fill ''equal to'' False ''comma'' hatch ''equal to inside single quotes'' ''slanting line''''' and press '''Enter'''.
 
+
Type '''bar(year,profit,fill=False,hatch='/')'''
+
 
+
  
 
This will display a bar chart which is not filled and which is '''hatched''' with 45<sup>o</sup> slanting lines
 
This will display a bar chart which is not filled and which is '''hatched''' with 45<sup>o</sup> slanting lines
Line 343: Line 265:
  
 
{SHOW WEBSITE while narrating}  
 
{SHOW WEBSITE while narrating}  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Help about '''matplotlib''' can be obtained from '''matplotlib.sourceforge.net/contents.html'''
 
 
More plots can be seen at
 
  
 
'''matplotlib.sourceforge.net/users/screenshots.html'''
 
'''matplotlib.sourceforge.net/users/screenshots.html'''
Line 351: Line 270:
 
and also at '''matplotlib.sourceforge.net/gallery.html'''
 
and also at '''matplotlib.sourceforge.net/gallery.html'''
  
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Help about '''matplotlib''' can be obtained from '''matplotlib.sourceforge.net/contents.html'''
  
 
+
More plots can be seen at the following links
  
 
|-
 
|-
Line 358: Line 278:
  
 
Summary slide
 
Summary slide
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| This brings us to the end of this tutorial.
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| This brings us to the end of this tutorial.
 
  
 
In this tutorial we learnt to,
 
In this tutorial we learnt to,
 
  
 
* Plot a '''pie''' '''chart''' using '''pie()''' function
 
* Plot a '''pie''' '''chart''' using '''pie()''' function
 
* Plot a '''bar''' '''chart''' using '''bar()''' function
 
* Plot a '''bar''' '''chart''' using '''bar()''' function
 
* Access the '''matplotlib '''online help
 
* Access the '''matplotlib '''online help
 
 
  
 
|-
 
|-
Line 377: Line 291:
  
 
Assignment
 
Assignment
 
 
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Here are some self assessment questions for you to solve.
 
 
 
1.What statement can be issued to generate a bar chart with vertical line hatching?
 
 
 
* '''bar(x, y, color='w', hatch='/')'''
 
* '''bar(x, y, color='w', hatch='/')'''
 
* '''bar(x, y, fill=False, hatch='//')'''
 
* '''bar(x, y, fill=False, hatch='//')'''
Line 390: Line 296:
 
* '''bar(x, y, color='w', hatch='\''')'''''
 
* '''bar(x, y, color='w', hatch='\''')'''''
  
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Here are some self assessment questions for you to solve.
 +
 +
1.What statement can be issued to generate a bar chart with vertical line hatching?
  
  
Line 397: Line 306:
 
Solution to assignment
 
Solution to assignment
  
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| And the answer is,
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| And the answers,
+
# '''bar x ''comma'' y ''comma'' fill ''equal to'' False ''comma'' hatch ''is equal to'' a vertical line)''' is the correct option to generate a '''bar''' '''chart''' with vertical '''line''' '''hatching'''.
 
+
 
+
# '''bar(x, y, fill=False, hatch='|')''' is the correct option to generate a '''bar''' '''chart''' with vertical '''line''' '''hatching'''.
+
 
+
  
  
Line 436: Line 342:
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Previous slide
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Previous slide
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| This is _________ from IIT Bombay (or FOSSEE, if you wish) signing off.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| This is Trupti Kini from FOSSEE IIT Bombay signing off.
  
 
Thank you.
 
Thank you.
  
 
|}
 
|}

Latest revision as of 22:16, 7 September 2017

Title of script: Plotting Charts

Author: Trupti Kini, Thirumalesh H S

Keywords: Python, IPython, pylab, scatter plot, charts, matplotlib help


Visual Cue Narration
Show slide


Hello friends. Welcome to the tutorial on plotting charts
Show slide

Learning Objectives

At the end of this tutorial, you will be able to -
  • Create pie charts
  • Create bar charts and
  • Find more information on matplotlib
Show slide

System Specifications

To record this tutorial, I am using
  • Ubuntu Linux 14.04 operating system
  • Python 3.4.3
  • IPython 5.1.0
Show slide

Pre-requisites

To practice this tutorial, you should know how to
  • run basic Python commands on the ipython console
  • Load data from files and
  • Plot data.

If not, see the relevant Python tutorials on this website.

Open [Terminal] and type

ipython3


Let us first open the Terminal by pressing Ctrl+Alt+T keys simultaneously.

Now, type ipython3 and press Enter.

[IPython console]

type %pylab and press Enter.

Let us initialize the pylab package.

Type %pylab and press Enter.

Show Slide

Pie chart

A pie chart is a circular chart divided into sectors, to illustrate numerical proportion
Show Slide

pie() function

Syntax:

pie(values, labels= labels)

  • values – the data to be plotted
  • labels – the label for each wedge in the pie chart


The syntax for pie() function is as follows:

pie inside parentheses values comma labels equal to labels

  • where values are the data to be plotted
  • and labels – the label for each wedge in the pie chart
Show Slide

Exercise 1

  • Plot a pie chart representing the profit percentage of company A.
  • Use the data from file company-a-data.txt available in the code file link of this tutorial
[File browser]

Open the file company-a-data.txt and show the content

The data file has two columns with a set of values in each column.

The first column represents years. The second column represents the profit percentages.

[IPython Terminal]

year, profit = loadtxt('company-a-data.txt', unpack = True)

To produce a scatter plot, we first need to load the data from the file using loadtxt command.

Let us clear the terminal.

Type

year comma profit equal to loadtxt inside parentheses inside single quotes add the path of the file company-a-data.txt comma unpack equal to True and press Enter

unpack equal to True --> returns the transposed array of data.

[Ipython Terminal]

clf()

pie(profit,labels=year)

Type clf open and close parentheses to clear the plot window, if any plots executed previously.

Type pie(profit comma labels equal to year) and press Enter.

[Plot Window]


Show pie chart plot

Notice that we passed two arguments to the function pie().

First one being the values, which is profit in our case.

The next one being the set of labels to be used in the pie chart, which is year in our case.

Show Slide

Exercise 2

Pause the video here.

Try out the following exercise and resume the video.


Plot a pie chart with the same data with the following colors for each wedges.

  • white, red, black, magenta,
  • yellow, blue, green, cyan,
  • yellow, magenta and blue.

Hint: In your ipython interpreter, try typing pie question mark.

[IPython Terminal]

clf()

pie(profit,labels=year,colors=('w','r','k','m','y','b','g','c','y','m','b'))

Solution to Exercise 2

Clear the plot window by typing clf open and close parentheses and press Enter.

Type pie inside parentheses profit comma labels equal to year comma colors equal to inside parentheses the color codes and press Enter.

This will display a pie chart with each wedge having the color as specified in the parameters.

Show Slide

Bar chart

A bar chart is a chart
  • with rectangular bars
  • with lengths proportional to the values that they represent.
Show Slide

bar() function

The syntax for bar chart is:

bar inside parentheses x comma y

  • where x – a sequence of data and
  • y - a sequence of data, the same length of x
Show Slide

Exercise 3

  • Plot a bar chart representing the profit percentage of company A.
  • Use the data from file company-a-data.txt.
[IPython Terminal]


clf()

bar(year, profit)

Solution to Exercise 3

Clear the plot window by typing clf open and close parentheses

Type bar open and close parentheses year comma profit and press Enter.

This will display a bar chart representing the profit percentage of company A

Show Slide

Exercise 4

Plot a bar chart as shown in the image:

Hint: Bar chart is not filled and which is hatched with 45o slanting lines.

The data for the chart may be obtained from the file company-a-data.txt.

Hint: In your ipython interpreter, try typing bar question mark


[Ipython Terminal]

clf()

bar(year,profit,fill=False,hatch='/')

Solution to Exercise 4

Clear the plot window by typing clf open and close parentheses

Type bar open and close parentheses year comma profit comma fill equal to False comma hatch equal to inside single quotes slanting line and press Enter.

This will display a bar chart which is not filled and which is hatched with 45o slanting lines

Show Slide

"Getting help on matplotlib"

{SHOW WEBSITE while narrating}

matplotlib.sourceforge.net/users/screenshots.html

and also at matplotlib.sourceforge.net/gallery.html

Help about matplotlib can be obtained from matplotlib.sourceforge.net/contents.html

More plots can be seen at the following links

Show Slide

Summary slide

This brings us to the end of this tutorial.

In this tutorial we learnt to,

  • Plot a pie chart using pie() function
  • Plot a bar chart using bar() function
  • Access the matplotlib online help
Show Slide

Assignment

  • bar(x, y, color='w', hatch='/')
  • bar(x, y, fill=False, hatch='//')
  • bar(x, y, fill=False, hatch='|')
  • bar(x, y, color='w', hatch='\')
Here are some self assessment questions for you to solve.

1.What statement can be issued to generate a bar chart with vertical line hatching?


Show Slide

Solution to assignment

And the answer is,


  1. bar x comma y comma fill equal to False comma hatch is equal to a vertical line) is the correct option to generate a bar chart with vertical line hatching.


Show Slide

Forum

Please post your timed queries in this forum.
Show Slide

Fossee Forum

Please post your general queries on Python in this forum.
Show Slide

Textbook Companion

FOSSEE team coordinates the TBC project.
Show Slide

Acknowledgment

http://spoken-tutorial.org

Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India.

For more details, visit this website.

Previous slide This is Trupti Kini from FOSSEE IIT Bombay signing off.

Thank you.

Contributors and Content Editors

Nancyvarkey, Nirmala Venkat, Trupti