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

From Script | Spoken-Tutorial
Jump to: navigation, search
 
Line 29: Line 29:
 
# Create simple '''plots''' of '''mathematical''' '''functions'''.  
 
# Create simple '''plots''' of '''mathematical''' '''functions'''.  
 
# Use the '''Plot''' '''window''' to study '''plots '''better.
 
# Use the '''Plot''' '''window''' to study '''plots '''better.
 
 
  
 
|-
 
|-
Line 41: Line 39:
 
* '''Python 3.4.3'''
 
* '''Python 3.4.3'''
 
* '''IPython 5.1.0'''
 
* '''IPython 5.1.0'''
 
 
  
 
|-
 
|-
Line 73: Line 69:
  
 
'''%pylab '''and press '''Enter.'''
 
'''%pylab '''and press '''Enter.'''
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding:0.0417in;"| Let us initialise the pylab package
+
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding:0.0417in;"| Let us initialise the '''pylab package'''.
  
  
Line 90: Line 86:
 
* which provides '''plotting''' functionality
 
* which provides '''plotting''' functionality
 
* and has '''mathematical''' and '''scientific''' '''functions'''.  
 
* and has '''mathematical''' and '''scientific''' '''functions'''.  
 
 
  
 
|-
 
|-
Line 97: Line 91:
  
 
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 '''percentage pylab '''in the i'''Python console''' you will see a message-
  
 
“'''Using matplotlib backend: TkAgg ”.'''
 
“'''Using matplotlib backend: TkAgg ”.'''
Line 122: Line 116:
  
  
Type ''''linspace'''' followed by a question mark in '''ipython console. '''Press Enter
+
Type ''''linspace'''' followed by a question mark in '''ipython console. '''
 +
 
 +
Press '''Enter'''
  
  
Line 146: Line 142:
  
  
Now, press '''Enter'''. As you can see, a sequence of numbers from 1 to 100 is displayed.  
+
Now, press '''Enter'''.  
 +
 
 +
As you can see, a sequence of numbers from 1 to 100 is displayed.  
  
 
|-
 
|-
Line 177: Line 175:
  
  
So type '''linspace brackets minus pi comma pi comma 100 '''and''' '''press enter
+
So type '''linspace brackets minus pi comma pi comma 100 '''and''' '''press '''Enter'''.
  
  
Line 186: Line 184:
  
 
'''t = linspace(-pi, pi, 100)'''  
 
'''t = linspace(-pi, pi, 100)'''  
| 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;"| Now, let us save this to a variable, say '''t'''. Press enter
+
| 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;"| Now, let us save this to a variable, say '''t'''.  
 +
 
 +
Press '''Enter'''.
  
 
|-
 
|-
Line 215: Line 215:
  
 
cosine = cos(t)plot(t, cosine)
 
cosine = cos(t)plot(t, cosine)
| 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;"| We can also assign the value of '''cos(t) '''to a variable '''cosine''' by typing''' cosine equals to cos(t). '''Press Enter
+
| 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;"| 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
+
And then '''plot''' by typing '''plot(t comma cosine) '''and press '''Enter'''
  
 
|-
 
|-
Line 285: Line 285:
 
As you can see, there are many formats in which to save the '''file.
 
As you can see, there are many formats in which to save the '''file.
  
Formats''' like '''png, eps, pdf, and ps''' are available.  
+
Formats like '''png, eps, pdf''', and '''ps''' are available.  
  
 
We have to specify the format that we prefer at the time of saving.
 
We have to specify the format that we prefer at the time of saving.
Line 319: Line 319:
  
 
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 takes us to the previous or next state of the '''plot'''.  
Line 363: Line 363:
 
# Clear drawing area using '''clf'''.  
 
# Clear drawing area using '''clf'''.  
 
# Usage of buttons in the '''UI''' of the plot window such as -<br/> '''save''', '''zoom,''' '''move''' '''axis''', '''back''' and '''forward '''and '''Home '''
 
# Usage of buttons in the '''UI''' of the plot window such as -<br/> '''save''', '''zoom,''' '''move''' '''axis''', '''back''' and '''forward '''and '''Home '''
 
 
  
 
|-
 
|-
Line 378: Line 376:
 
# How can we find the length of a sequence?
 
# How can we find the length of a sequence?
 
# What will the command '''linspace(minus pi comma pi comma 100)''' do?  
 
# What will the command '''linspace(minus pi comma pi comma 100)''' do?  
 
  
 
|-
 
|-
Line 392: Line 389:
 
# '''len(sequence underscore 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(minus pi comma pi comma 100)''' will return 100 evenly spaced samples from '''-pi''' to '''pi''' including both '''minus 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'''.  
 
 
  
 
|-
 
|-
Line 457: Line 452:
  
 
Thank You
 
Thank You
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding:0.0417in;"| This is '''__________''' from IIT Bombay signing off. Thanks for watching
+
| style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding:0.0417in;"| This is Usha from IIT Bombay signing off. Thanks for watching.
  
 
|}
 
|}

Latest revision as of 11:45, 26 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 percentage 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 dot 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?
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 Usha from IIT Bombay signing off. Thanks for watching.

Contributors and Content Editors

Nancyvarkey, Nirmala Venkat, Vineeta