Hello friends! Welcome to the spoken tutorial on Subplots.
At the end of this tutorial, you will be able to create and switch between subplots.
To record this tutorial, I am using: Ubuntu Linux 14.04 operating system, Python 3.4.3, IPython 5.1.0.
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.
Let us first open the Terminal by pressing Ctrl+Alt+T keys simultaneously. Now, type ipython3 and press Enter.
Let us initialise the pylab package. Type: percentage pylab and press Enter.
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 the brackets x comma cos(x).
Type: y equals to linspace inside brackets 0 comma 5 comma 100. plot inside brackets y comma y square.
Here, the two plots have different regular axes. So, we cannot draw overlaid plots.
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.
We can see the first subplot. 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 the subplot. Here, we passed 1 as the argument which creates the upper subplot.
If we execute the subplot command as- subplot inside the brackets 2 comma 1 comma 2, the lower subplot is created.
Here, we can see now two subplots.
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
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.
Now clear the plot window.
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.
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.
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 is equal to 0.01 Joules per Kelvin and T equals to 200 Kelvin.
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)
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.
Now, we have 500 values in t and each with the value 200 Kelvin.
Plotting this data, we get the required plot. plot inside brackets t comma 2 point 0 divided by v
We can see two subplots of Pressure v/s Volume and Pressure v/s Temperature respectively.
This brings us to the end of this tutorial. In this tutorial, we have learnt to create subplots and to switch between them.
Here are some self assessment questions for you to solve.
1. Which of the following is correct? subplot inside brackets numRows comma numCols comma plotNum , subplot inside brackets numRows comma numCols , subplot inside brackets numCols comma numRows.
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.
Please post your timed queries in this forum.
Please post your general queries on Python in this forum.
The FOSSEE team coordinates the TBC project.
Spoken-tutorial is funded by NMEICT, MHRD, Govt. of India. For more details, visit this website.
This is Usha from IIT Bombay, signing off. Thank You.