Python-3.4.3/C2/Subplots/English

From Script | Spoken-Tutorial
Jump to: navigation, search
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 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 and highlight 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.

Pause for a while and highlight 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.

Pause for a while and highlight The last argument specifies the serial number for the 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.
[Plot window] It is clear from the two subplots that both have different regular axes.
[Plot window] For the cosine curve, x-axis varies from 0 to 50 and y-axis varies from minus 1 to 1.
[Plot window] 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


  1. Pressure, Volume and Temperatures are held by the equation Pv equals to nRT where nR is a constant.
  2. 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 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 Usha from IIT Bombay signing off.

Thank You.

Contributors and Content Editors

Nancyvarkey, Nirmala Venkat, Vineeta