Difference between revisions of "Python-3.4.3/C2/Using-plot-command-interactively/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 97: Line 97:
  
 
Highlight “'''Using matplotlib backend: TkAgg''' ”
 
Highlight “'''Using matplotlib backend: TkAgg''' ”
| style="border:0.5pt solid #000000;padding:0.0417in;"| After running '''percentage pylab '''in the i'''Python console''' you will see a message  
+
| style="border:0.5pt solid #000000;padding:0.0417in;"| After running '''%pylab '''in the i'''Python console''' you will see a message  
  
 
“'''Using matplotlib backend: TkAgg ”.'''
 
“'''Using matplotlib backend: TkAgg ”.'''
Line 174: Line 174:
  
  
First we will generate 100 points between '''-pi''' and '''pi'''.  
+
First we will generate 100 points between '''minus pi''' and '''pi'''.  
  
  
Line 192: Line 192:
  
 
'''len(t)'''
 
'''len(t)'''
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| If we now type '''len bracket t '''and press '''Enter''', we will get the number of points between '''minus''' '''pi''' and '''pi.
+
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| If we now type '''len bracket t '''and press '''Enter''', we will get the number of points between '''minus''' '''pi''' and '''pi.len''' function gives the no. of elements present in a given sequence.  
 
+
'''len''' function gives the no. of elements present in a given sequence.  
+
  
 
|-
 
|-
Line 207: Line 205:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"|  
 
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"|  
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| As you can see from the '''cosine plot''', '''cos(t)''' gets the '''cosine''' value at every point corresponding to '''t.'''
+
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| As you can see from the '''cosine plot''', '''cos(t)''' gets the '''cosine''' value at every point corresponding to point '''t.'''
  
 
|-
 
|-
Line 251: Line 249:
  
 
Show plotted '''sine curve'''
 
Show plotted '''sine curve'''
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| To study the '''plot''' better on the''' plot window,''' we can use various options that are available on it.
+
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| To study the '''plot''' better on the''' plot window,''' we can use various options that are available on it. Let us have a look at these options.  
Let us have a look at these options.  
+
  
 
|-
 
|-
Line 270: Line 267:
  
 
Save the '''plot''' as '''sin_curve.pdf '''
 
Save the '''plot''' as '''sin_curve.pdf '''
| style="border:0.5pt solid #000000;padding:0.0417in;"| The right-most among them is for saving the file. Just click on it and type the '''file name'''.  
+
| style="border:0.5pt solid #000000;padding:0.0417in;"| The right-most among them is for saving the file. Just click on it and type the '''file name'''. Let us save the '''plot''' by the name '''sin underscore curve''' in '''pdf format'''.  
 
+
Let us save the '''plot''' by the name '''sin_curve''' in '''pdf format'''.  
+
  
 
|-
 
|-
Line 314: Line 309:
  
 
Press Back and Forward '''Button'''  
 
Press Back and Forward '''Button'''  
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| The next two buttons with left and right arrow icons change the state of the '''plot'''.
+
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| The next two buttons with left and right arrow icons change the state of the '''plot'''. It takes us to the previous or next state of the '''plot'''. It acts like the back and forward button in a browser.  
 
+
It takes us to the previous or next state of the '''plot'''.  
+
 
+
It acts like the back and forward button in a browser.  
+
  
 
|-
 
|-
Line 335: Line 326:
 
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| Pause the video here, try out the following exercise and then resume the video.
 
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| Pause the video here, try out the following exercise and then resume the video.
  
Plot '''(sin(x)*sin(x)) / x'''.  
+
Plot '''(sin(x) multiplied by sin(x)) divided by x'''.  
  
 
# Save the '''plot''' as '''sinsquarebyx.pdf'''
 
# Save the '''plot''' as '''sinsquarebyx.pdf'''
Line 370: Line 361:
 
| style="border:0.5pt solid #000000;padding:0.0417in;"| Here are some self assessment questions for you to solve -
 
| style="border:0.5pt solid #000000;padding:0.0417in;"| Here are some self assessment questions for you to solve -
  
# Create 100 equally spaced points between '''-pi/2''' and '''pi/2'''  
+
# Create 100 equally spaced points between '''minus pi by 2''' and '''pi by 2'''  
 
# How can we find the length of a sequence?
 
# How can we find the length of a sequence?
# What will the command '''linspace(-pi,pi,100)''' do?  
+
# What will the command '''linspace(minus pi comma pi comma 100)''' do?  
  
 
* returns 100 evenly spaced samples from '''-pi '''to '''pi '''
 
* returns 100 evenly spaced samples from '''-pi '''to '''pi '''
Line 390: Line 381:
 
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| And the answers,  
 
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0in;padding-bottom:0.0417in;padding-left:0.0417in;padding-right:0.0417in;"| And the answers,  
  
# We use the command '''linspace(-pi/2,pi/2,100)''' to create 100 equally spaced lines between the points '''-pi/2''' and '''pi/2'''.  
+
# We use the command '''linspace(minus pi by 2 comma pi by 2 comma 100)''' to create 100 equally spaced lines between the points '''minus pi by 2''' and '''pi by 2'''.  
# '''len(sequence_name) '''is the function used to find out the length of a sequence.  
+
# '''len(sequence underscore name) '''is the function used to find out the length of a sequence.  
# The command '''linspace(-pi,pi,100)''' will return 100 evenly spaced samples from '''-pi''' to '''pi''' including both '''-pi '''and '''pi'''.  
+
# The command '''linspace(minus pi comma pi comma 100)''' will return 100 evenly spaced samples from '''-pi''' to '''pi''' including both '''minus pi '''and '''pi'''.  
  
  

Revision as of 14:58, 21 February 2017

Python/C2/Creating-simple-plots-using-IPython/English

Title of script: Using plot command interactively in IPython.

Author: Thirumalesh H S

Keywords: Python, IPython, plot , pylab, matplotlib


Visual Cue Narration
Show slide

[Slide with MHRD logo]

Hello friends. Welcome to the tutorial on using plot command interactively in IPython
Show slide

Objectives


At the end of this tutorial, you will be able to,
  1. Create simple plots of mathematical functions.
  2. Use the Plot window to study plots better.


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

Pre-requisites to practise this tutorial are -

You should know how to run basic Python commands on the ipython console.


If not, for relevant Python tutorials, please visit this website.

http://spoken-tutorial.org

[Terminal]

ipython3


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


Now, type ipython3 and press Enter.

[IPython console]

%pylab and press Enter.

Let us initialise the pylab package


Type percentage pylab and press Enter

Let's first understand what is Pylab
Show Slide

Pylab

Pylab is a convenient Python module -
  • which provides plotting functionality
  • and has mathematical and scientific functions.


[iPython console]

Highlight “Using matplotlib backend: TkAgg

After running %pylab in the iPython console you will see a message

Using matplotlib backend: TkAgg ”.


This means matplotlib is running.

Show Slide

Error if matplotlib is not installed

But sometimes you may get an error that says

“ImportError: No module named matplotlib”.


In such cases, you have to install matplotlib and run this command again.

[iPython console]

linspace?

Let's come back to the ipython console.


Type 'linspace' followed by a question mark in ipython console. Press Enter


Please note that the command is linspace and not linespace.

Type q The displayed information says that
  • linspace returns evenly spaced numbers,
  • which are calculated over the interval start and stop.

Press q to exit the documentation and return to the console.

[iPython console]

linspace(1, 100, 100) >> press Enter.

Let's try to generate 100 points from 1 to 100.Type linspace brackets 1 comma 100 comma 100


Here, 1 is the start , 100 is the stop and the next 100 is the number of points.


Now, press Enter. As you can see, a sequence of numbers from 1 to 100 is displayed.

[iPython console]

linspace(0, 1, 200) >> press Enter.

Now let's try to generate 200 points between 0 and 1.


We do that by typing linspace brackets 0 comma 1 comma 200 and press enter.


Here is the expected sequence of numbers.

In linspace, the start and stop points can be integers, decimals, or constants.
[iPython console]

linspace(-pi, pi, 100)


Let us now learn about the len function.


First we will generate 100 points between minus pi and pi.


So type linspace brackets minus pi comma pi comma 100 and press enter


Here 'pi' is a constant defined by pylab.

[iPython console]

t = linspace(-pi, pi, 100)

Now, let us save this to a variable, say t. Press enter
[iPython console]

len(t)

If we now type len bracket t and press Enter, we will get the number of points between minus pi and pi.len function gives the no. of elements present in a given sequence.
[iPython console]

plot(t, cos(t))

Next, let's try and plot a cosine curve between minus pi and pi.For this, we use the plot command.


Type plot brackets t comma cos(t) and press Enter.

As you can see from the cosine plot, cos(t) gets the cosine value at every point corresponding to point t.
[iPython console]

cosine = cos(t)plot(t, cosine)

We can also assign the value of cos(t) to a variable cosine by typing cosine equals to cos(t). Press Enter


And then plot by typing plot(t comma cosine) and press enter

Show slide

clf function()

To clear the plot, we have to use the clf() function.

This avoids overlapping of new plots over older plots.

[iPython console]

clf()

In the console, type clf() and press Enter.


The previous plot is cleared and a blank plot window is displayed.

[iPython console]

plot(t, sin(t))

Now, let's try to plot a sine plot.


Type plot brackets t comma sin(t) and press Enter.


A sine plot is displayed.

[Plot window]

Show plotted sine curve

To study the plot better on the plot window, we can use various options that are available on it. Let us have a look at these options.
[Plot window]

Move the mouse along the plot

Moving the mouse pointer along the plot gives us the location of each point on the plot.
Point to the buttons on the bottom left of the window. Notice here.

At the bottom left of the window, there are a few buttons.

[Plot window]

Save the plot as sin_curve.pdf

The right-most among them is for saving the file. Just click on it and type the file name. Let us save the plot by the name sin underscore curve in pdf format.
Click on the drop-down to show the available formats Click on the dropdown here.


As you can see, there are many formats in which to save the file.Formats like png, eps, pdf, and ps are available.


We have to specify the format that we prefer at the time of saving.

[Plot window]

Point the mouse on the slider button

To the left of the save button, is the slider button.


Using this button, we can specify the margins of the plot window.

[Plot window]

Show how to zoom.


Press zoom button and specify region to zoom

To the left of the slider button is the zoom button. It is used to zoom into the plot.

Just specify the region to zoom into.

[Plot window]

Press Move button and move the axes.

The button to the left of zoom can be used to move the axes of the plot.
[Plot window]

Press Back and Forward Button

The next two buttons with left and right arrow icons change the state of the plot. It takes us to the previous or next state of the plot. It acts like the back and forward button in a browser.
[Plot window]

Press home button

The last one is 'home' referring to the initial plot.
Show Slide

Exercise 1


Pause the video here, try out the following exercise and then resume the video.

Plot (sin(x) multiplied by sin(x)) divided by x.

  1. Save the plot as sinsquarebyx.pdf
  2. Zoom and find the maxima.
  3. Bring it back to initial position.


Show Slide

Summary


This brings us to the end of this tutorial. In this tutorial, we have learnt to,
  1. Start IPython with pylab.
  2. Use the linspace function to create equally spaced points in a region.
  3. Find the length of sequences using len function.
  4. Plot mathematical functions using plot.
  5. Clear drawing area using clf.
  6. Usage of buttons in the UI of the plot window such as -
    save, zoom, move axis, back and forward and Home


Show Slide

Assignment


Here are some self assessment questions for you to solve -
  1. Create 100 equally spaced points between minus pi by 2 and pi by 2
  2. How can we find the length of a sequence?
  3. What will the command linspace(minus pi comma pi comma 100) do?
  • returns 100 evenly spaced samples from -pi to pi
  • returns 100 evenly spaced samples from -pi to pi excluding pi but including -pi
  • returns 100 evenly spaced samples from -pi to pi excluding -pi but including pi
  • returns 100 evenly spaced samples from -pi to pi including both -pi and pi


Show Slide

Solutions


And the answers,
  1. We use the command linspace(minus pi by 2 comma pi by 2 comma 100) to create 100 equally spaced lines between the points minus pi by 2 and pi by 2.
  2. len(sequence underscore name) is the function used to find out the length of a sequence.
  3. The command linspace(minus pi comma pi comma 100) will return 100 evenly spaced samples from -pi to pi including both minus pi and pi.


Show Slide

About the Spoken Tutorial Project


The video at the following link summarises the Spoken Tutorial project.


If you do not have good bandwidth, you can download and watch it.

Show Slide

Spoken tutorial workshops

We conduct workshops using Spoken Tutorials and give Certificates.

Please contact us.

Show Slide

Forum to answer questions

Do you have questions in THIS Spoken Tutorial?

Choose the minute and second where you have the question.

Explain your question briefly.

Someone from the FOSSEE team will answer them.

Please visit this site.

Show Slide

Forum to answer questions

Do you have any general / technical questions?

Please visit the forum given in the link.

Show Slide

Textbook Companion

The FOSSEE team coordinates coding of solved examples of popular books.

We give honorarium and certificates for those who do this.

For more details, please visit this site.

Show Slide

Acknowledgement

The Spoken Tutorial project is funded by NMEICT, MHRD, Govt. of India
Show Slide

Thank You

This is __________ from IIT Bombay signing off. Thanks for watching

Contributors and Content Editors

Nancyvarkey, Nirmala Venkat, Vineeta