Difference between revisions of "Python-3.4.3/C2/Subplots/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 16: Line 16:
  
 
containing title, name of the production team along with the logo of MHRD  
 
containing title, name of the production team along with the logo of MHRD  
 
 
  
 
| 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 spoken tutorial on "'''Subplots'''".  
 
| 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 spoken tutorial on "'''Subplots'''".  
 
 
  
  
Line 28: Line 24:
  
 
Objectives  
 
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 and '''switch''' between '''subplots'''.
 
# Create and '''switch''' between '''subplots'''.
 
 
  
 
|-
 
|-
Line 47: Line 38:
 
* '''Python 3.4.3'''
 
* '''Python 3.4.3'''
 
* '''IPython 5.1.0'''
 
* '''IPython 5.1.0'''
 
 
  
 
|-
 
|-
Line 66: Line 55:
  
 
'''ipython3'''
 
'''ipython3'''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Let us first open the '''Terminal '''by pressing '''Ctrl+Alt+T '''keys simultaneously.  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Let us first open the '''Terminal '''by pressing '''Ctrl+Alt+T '''keys simultaneously.  
Line 81: Line 68:
  
  
Type '''%pylab '''and press''' Enter'''
+
Type '''percentage pylab '''and press''' Enter'''
  
 
|-
 
|-
Line 95: Line 82:
  
 
'''plot(y, y ** 2)'''
 
'''plot(y, y ** 2)'''
 
 
  
 
| 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 111: Line 96:
  
 
'''plot inside brackets x comma cos(x).'''
 
'''plot inside brackets x comma cos(x).'''
 +
 +
Type
  
 
'''y equals to linspace inside brackets 0 comma 5 comma 100.'''
 
'''y equals to linspace inside brackets 0 comma 5 comma 100.'''
Line 117: Line 104:
  
 
'''plot inside brackets y comma y square.'''
 
'''plot inside brackets y comma y square.'''
 
 
 
  
 
|-
 
|-
Line 125: Line 109:
  
 
[Plot Window]
 
[Plot Window]
 
 
  
 
| 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;"|   
  
 
Here the two '''plots''' have different regular '''axes''' so we cannot draw '''overlaid plots. '''
 
Here the two '''plots''' have different regular '''axes''' so we cannot draw '''overlaid plots. '''
 
 
 
  
 
|-
 
|-
Line 144: Line 123:
  
 
'''subplot(2, 1, 1)'''
 
'''subplot(2, 1, 1)'''
 
 
  
 
| 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;"|   
  
 
In such cases we can draw '''subplots'''.
 
In such cases we can draw '''subplots'''.
 
  
 
We use '''subplot command''' to accomplish this
 
We use '''subplot command''' to accomplish this
Line 159: Line 135:
  
 
'''subplot inside the brackets 2 comma 1 comma 1'''
 
'''subplot inside the brackets 2 comma 1 comma 1'''
 
 
 
  
 
|-
 
|-
Line 178: Line 151:
  
 
The second '''argument''' is the number of '''columns''' of '''subplots''' that must be created.  
 
The second '''argument''' is the number of '''columns''' of '''subplots''' that must be created.  
 
  
 
Here the second '''argument '''is 1, so '''plot''' will not split '''vertically.'''
 
Here the second '''argument '''is 1, so '''plot''' will not split '''vertically.'''
Line 184: Line 156:
  
 
The last '''argument''' specifies the '''serial number '''for''' subplot'''.  
 
The last '''argument''' specifies the '''serial number '''for''' subplot'''.  
 
  
 
Here we passed 1 as the '''argument''', which creates the '''upper subplot'''  
 
Here we passed 1 as the '''argument''', which creates the '''upper subplot'''  
Line 217: Line 188:
  
 
'''plot(y, y ** 2)'''
 
'''plot(y, y ** 2)'''
 
  
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Now we can draw plots in each of the '''subplot area''' using the '''plot command'''.  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Now we can draw plots in each of the '''subplot area''' using the '''plot command'''.  
 
  
 
Type
 
Type
Line 228: Line 197:
  
 
'''plot inside brackets x comma cos(x)'''
 
'''plot inside brackets x comma cos(x)'''
 +
 +
Now type
  
 
'''subplot inside brackets 2 comma 1 comma 2 '''
 
'''subplot inside brackets 2 comma 1 comma 2 '''
  
'''plot inside brackets y comma y square'''
+
'''plot y comma y square'''
  
 
|-
 
|-
Line 262: Line 233:
 
* '''Pressure, Volume '''and''' Temperatures '''are held by the '''equation PV = nRT''' where '''nR''' is a '''constant'''.
 
* '''Pressure, Volume '''and''' Temperatures '''are held by the '''equation PV = nRT''' where '''nR''' is a '''constant'''.
  
* A'''ssume''' '''nR =0.01 Joules/Kelvin''' and '''T = 200K'''. V can be in the '''range''' from '''21cc to 100cc'''.
+
* Assume '''nR =0.01 Joules/Kelvin''' and '''T = 200K'''. V can be in the '''range''' from '''21cc to 100cc'''.
  
  
Line 278: Line 249:
  
 
* '''Pressure v/s Temperature plot'''.  
 
* '''Pressure v/s Temperature plot'''.  
 
 
  
 
|-
 
|-
Line 289: Line 258:
  
 
'''v = linspace(21, 100, 500)'''
 
'''v = linspace(21, 100, 500)'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| To start with, we have been given the '''range''' of '''Volume''' using which we can define the variable '''v.'''
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| To start with, we have been given the '''range''' of '''Volume''' from which we can define the variable '''v.'''
  
 
'''v equals to linspace inside brackets 21 comma 100 comma 500'''
 
'''v equals to linspace inside brackets 21 comma 100 comma 500'''
Line 299: Line 268:
  
 
'''plot(v, 2.0/v)'''
 
'''plot(v, 2.0/v)'''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| We can create first '''subplot''' and draw '''Pressure''' v/s '''Volume''' '''graph '''using this '''v'''.  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| We can create first '''subplot''' and draw '''Pressure''' v/s '''Volume''' '''graph '''using this '''v'''.  
Line 307: Line 274:
  
 
'''plot(v comma 2 point 0 by v)'''
 
'''plot(v comma 2 point 0 by v)'''
 
  
 
We know that '''nRT''' is a '''constant''' which is equal to 2.0 since '''nR''' = equals to 0.01 '''Joules per Kelvin''' and '''T equals to '''200 '''Kelvin '''
 
We know that '''nRT''' is a '''constant''' which is equal to 2.0 since '''nR''' = equals to 0.01 '''Joules per Kelvin''' and '''T equals to '''200 '''Kelvin '''
Line 317: Line 283:
  
 
'''plot(200, 2.0/v)'''
 
'''plot(200, 2.0/v)'''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Now we can create the second '''subplot''' and draw the '''Pressure''' v/s '''Temperature plot''' 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;"| Now we can create the second '''subplot''' and draw the '''Pressure''' v/s '''Temperature plot''' as follows  
 
  
 
'''subplot(2 comma 1 comma 2)'''
 
'''subplot(2 comma 1 comma 2)'''
Line 331: Line 294:
  
 
'''t = linspace(200, 200, 500) '''
 
'''t = linspace(200, 200, 500) '''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| We have an '''error''' now, telling x and y '''dimensions''' don't match.  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| We have an '''error''' now, telling x and y '''dimensions''' don't match.  
 
  
 
So we will create same number of '''points''' for '''temperature.'''
 
So we will create same number of '''points''' for '''temperature.'''
Line 348: Line 308:
  
 
'''plot(t, 2.0/v) '''
 
'''plot(t, 2.0/v) '''
 
 
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Now, we have 500 values in '''t '''and''' '''each with the value 200 '''Kelvin'''. '''Plotting''' this data, we get the required '''plot. '''
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0in;padding-bottom:0in;padding-left:0.0382in;padding-right:0.075in;"| Now, we have 500 values in '''t '''and''' '''each with the value 200 '''Kelvin'''. '''Plotting''' this data, we get the required '''plot. '''
Line 365: Line 323:
  
 
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. In this tutorial, we have learnt to,''' '''
 
| 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 have learnt to,''' '''
Line 387: Line 343:
  
 
*  
 
*  
** '''subplot(numRows comma numCols, plotNum) '''
+
** '''subplot inside brackets numRows comma numCols, plotNum '''
** '''subplot(numRows comma numCols) '''
+
** '''subplot inside brackets numRows comma numCols '''
** '''subplot(numCols comma numRows) '''
+
** '''subplot inside brackets numCols comma numRows'''
  
  

Revision as of 17:51, 7 March 2017

Python/C2/Subplots/English

Title of script: Subplots

Author: Aditya Palaparthy

Keywords: Python, IPython, plot, subplot


Visual Cue
Narration
Show Slide

containing title, name of the production team along with the logo of MHRD

Hello Friends. Welcome to the spoken tutorial on "Subplots".


Show Slide

Objectives

At the end of this tutorial, you will be able to,
  1. Create and switch between subplots.
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 practise this tutorial, you should know how to
  • run basic Python commands on the ipython console
  • use Plots interactively
  • Embellish a plot

If not, see the pre-requisite Python tutorials on this website.

[Terminal]

ipython3

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


Now, type ipython3 and press Enter.

[IPython console]

percentage pylab and press Enter.

Let us initialise the pylab package


Type percentage pylab and press Enter

[IPython Terminal]

x = linspace(0, 50, 500)

plot(x, cos(x))

y = linspace(0, 5, 100)

plot(y, y ** 2)

To compare two plots we draw the plots in the same plotting area.


Let us now create two plots, a cosine plot and an exponential curve in the same plotting area.


Type

x equals to linspace inside brackets 0 comma 50 comma 500 and press enter

plot inside brackets x comma cos(x).

Type

y equals to linspace inside brackets 0 comma 5 comma 100.

plot inside brackets y comma y square.

[Plot Window]

Here the two plots have different regular axes so we cannot draw overlaid plots.

[IPython Terminal]


clf()

subplot(2, 1, 1)

In such cases we can draw subplots.

We use subplot command to accomplish this

Type

clf()

subplot inside the brackets 2 comma 1 comma 1

[Plot Window] We can see the first subplot.
Pause for a while The subplot command takes three arguments.


The first argument is the number of rows of subplots that must be created.

Here the first argument is 2, to split the plot horizontally.


The second argument is the number of columns of subplots that must be created.

Here the second argument is 1, so plot will not split vertically.


The last argument specifies the serial number for subplot.

Here we passed 1 as the argument, which creates the upper subplot

[IPython Terminal]


subplot(2, 1, 2)

If we execute the subplot command as

subplot inside the brackets 2 comma 1 comma 2

The lower subplot is created.

[Plot Window] Here, we can see two subplots.
[IPython Terminal]

x = linspace(0, 50, 500)

subplot(2, 1, 1)

plot(x, cos(x))

y = linspace(0, 5, 100)

subplot(2, 1, 2)

plot(y, y ** 2)


Now we can draw plots in each of the subplot area using the plot command.

Type

subplot inside brackets 2 comma 1 comma 1

plot inside brackets x comma cos(x)

Now type

subplot inside brackets 2 comma 1 comma 2

plot y comma y square

[Plot window] This created two plots one in each of the subplot area.


The top subplot holds a cosine curve and the bottom subplot holds a parabola.


It is clear from the two subplots that both have different regular axes.

For the cosine curve x-axis varies from 0 to 50 and y-axis varies from minus 1 to 1.

For the parabolic curve x-axis varies from 0 to 5 and y-axis varies from 0 to 25.

[IPython Terminal]


clf()

Now clear the plot window
Show Slide

Exercise 1


  • Pressure, Volume and Temperatures are held by the equation PV = nRT where nR is a constant.
  • Assume nR =0.01 Joules/Kelvin and T = 200K. V can be in the range from 21cc to 100cc.


Pause the video. Try this exercise and then resume the video


Pressure, Volume and Temperatures are held by the equation Pv equals to nRT where nR is a constant.

Assume nR equals to 0.01 Joules per Kelvin and T equals to 200K. V can be in the range from 21cc to 100cc.


Draw two different plots as subplots:

  • Pressure v/s Volume plot and
  • Pressure v/s Temperature plot.
Switch to the terminal for the solution.
[IPython Terminal]

v = linspace(21, 100, 500)

To start with, we have been given the range of Volume from which we can define the variable v.

v equals to linspace inside brackets 21 comma 100 comma 500

[IPython Terminal]

subplot(2, 1, 1)

plot(v, 2.0/v)

We can create first subplot and draw Pressure v/s Volume graph using this v.

subplot(2 comma 1 comma 1)

plot(v comma 2 point 0 by v)

We know that nRT is a constant which is equal to 2.0 since nR = equals to 0.01 Joules per Kelvin and T equals to 200 Kelvin

[IPython Terminal]

subplot(2, 1, 2)

plot(200, 2.0/v)

Now we can create the second subplot and draw the Pressure v/s Temperature plot as follows

subplot(2 comma 1 comma 2)

plot(200 comma 2 point 0 divided by v)

[IPython Terminal]

t = linspace(200, 200, 500)

We have an error now, telling x and y dimensions don't match.

So we will create same number of points for temperature.

Type

t equals to linspace inside brackets 200 comma 200 comma 500.

[IPython Terminal]


plot(t, 2.0/v)

Now, we have 500 values in t and each with the value 200 Kelvin. Plotting this data, we get the required plot.

Type

plot inside brackets t comma 2 point 0 divided by v

[Plot Window] We can see two subplots of Pressure v/s Volume and Pressure v/s Temperature respectively.
Show Slide

Summary slide

This brings us to the end of this tutorial. In this tutorial, we have learnt to,
  1. Create subplots and to switch between them.


Show Slide

Evaluation


Here are some self assessment questions for you to solve


  1. Which of the following is correct.
    • subplot inside brackets numRows comma numCols, plotNum
    • subplot inside brackets numRows comma numCols
    • subplot inside brackets numCols comma numRows


Show Slide

Solutions


And the answer is, first option.
  1. The subplot command takes three arguments namely the number of rows , number of columns and the plot number.


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

Acknowledgement

Spoken-tutorial is funded by NMEICT, MHRD, Govt. of India.

For more details, visit this website.

Show Slide

Thank You

This is _________ from IIT Bombay signing off.

Thank You

Contributors and Content Editors

Nancyvarkey, Nirmala Venkat, Vineeta