Skip to content

Day 1

The agenda of today is the following.

1. Defining variable

To define a varaible just choose a varaible name and asign it to a value using = as follows

x = 24 # an integer
pi = 3.14 # a float
name = "Sandeep Suman" # a string

Ex: Choose three variables and assign one as an integer, one as a float and one as a string, and print them. For example to print the name variable we use

print(name)
Sandeep Suman

Tip

The line after # got ignored by the python. It is called a comment in any programming language. You can use comment to add some instructions to the code.

2. Matheamtical Operations

Mathematical operations, i.e., addition, substraction etc. can be done as

5 + 6 # addition
5 - 6 # substraction
5 * 6 # multiplication
5 / 6 # division
5 ** 6 # exponent or power

Ex: Choose two variable x and y and assign each one as an integer. Try each of the above operations on them like x+y. Finally print them

x = 2 
y = 3
z = x + y
print(z)
5

2.1 Mathematical Expression

We can use these operations to evaluate complicated mathematical expressions in python, for example, we can compute as follows

x = 5 
y = 3
z = (x**2 + 1) / (y-1)
print(z)
13

3. Importing Libraries

To increase the functiionality of any language we use libraries or pre written code.

A very useful library in python is called numpy which is used to do numerical calculation in python. In order to import a library in python you can use any of the following methods.

import numpy # method 1 
import numpy as np # method 2
from numpy import * # method 3

Any library has some function or variable included in them. for example numpy library has mathematical sine function as sin and the variable pi. For each method these things can be accessed as follows

Method 1: In order to import the function and variable we will do the following

import numpy
print(numpy.pi) # prints the value of pi
print(numpy.sin(numpy.pi)) # prints the sin(pi)

Method 2: In order to import the function and variable we will do the following

import numpy as np
print(np.pi) # prints the value of pi
print(np.sin(np.pi)) # prints the sin(pi)

Method 3: In order to import the function and variable we will do the following

from numpy import *
print(pi) # prints the value of pi
print(sin(pi)) # prints the sin(pi)

Tip

Each method has its own advantages and disadvantages but for this course we will use the second method only.

4. Plotting simple function in python

To plot simple functions in python we use numpy and matplotlib libraries and three important functions.

  • linspace from numpy The function linspace is used to generate a number of equidistant points on a line inteval. It takes three arguments.

    linspace(x,y,n) will generate a list of n points between x and y.

    Ex: Create 100 equally spaced points between  and 

  • plot from matplotlib.pyplot This is the function used to make a plot. It requires two argument.

    plot(x,y) will plot list of elements x versus y

  • show from matplotlib.pyplot This function will show the final plot. It is simply invoked by typing show()

4.1 Simple Plots

Now we have understood the basic components used to plot a function in python. Now we will see them together in a simple example by plotting the function between to .

# 1. import necessary libraries
import numpy as np
import matplotlib.pyplot as plt
# 2. generate a list of points in the given domain
x = np.linspace(-np.pi, np.pi, 100)
# 3. apply the function on x 
y = np.sin(x)
# 4. plot the y versus x
plt.plot(x,y)
# 5. show the plot
plt.show()

img

Ex: Plot the following function in the interval

4.2 Adding Attributes in Plots

The graph shows visual information in a small space in the form of an image. The representation can be improved by adding extra infomation like title legends and other things. These are called attributes.

  • Modify the attributes of a plot like color, line width, line style by passing additional arguments.

    plt.plot(x, y, color='blue') this will make the graph blue

  • Add title to a plot using title command.

    plt.title('Derivative Graph') this will make a title of the graph

  • Incorporate LaTeX style formatting by adding a $ sign before and after the string.

    plt.plot(x,f(x),label='$f(x)=tan(x^2)$')

  • Label x and y axes using xlabel() and ylabel() commands.

    plt.xlabel('x values')
    plt.ylabel('y values')
    
  • Add annotations to a plot using annotate() command.

  • Get and set the limits of axes using xlim() and ylim() commands.

Tip

Try to add one attribute at a time. Use plane english in double/single quotes.

Example using all these attributes together:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-20, 20., 250)
y = np.sin(x) / x

plt.plot(x, y, color='red', linestyle='dashed')
plt.xlabel("$x$-axis")
plt.ylabel(r"$y = \frac{\sin(x)}{x}$")
plt.legend([r"$f(x)=\frac{\sin(x)}{x}$"])
plt.title(r"Topologist Sine Curve")

plt.show()

img

Ex: Draw a plot of cosine graph between  to  with line thickness in blue colour.

4.3 Saving Plots

In order to save the plot in the local directory we use savefig function. The plot can be saved in the following format.

  • pdf
  • ps
  • png
  • svg
  • eps

To save the figure in current working directory use the code.

plt.savefig("myplot.png")

To save the plot of topologist sine curve I have used the following

plt.savefig('/Users/ssuman/Downloads/topologist-sine.png', dpi=300, bbox_inches='tight')

5. More Things to Explore

  • Multiple plots

We can plot more than one graphs together as follows

import numpy as np 
import matplotlib.pyplot  as plt

x=np.linspace(0,2*np.pi,400)
a=np.sin(x)
b=np.cos(x)
c=a+b

# plot all the graphs together and labels can
# be used to identify them
plt.plot(x,a, label='sin(x)' )
plt.plot(x,b, label='cos(x)')
plt.plot(x,c, label='sin(x)+cos(x)')

# adding attributes to the plot
plt.xlabel('x-axis', fontsize=20)
plt.ylabel('y-axis', fontsize=20)
plt.title('MULTIPLE GRAPH' ,fontsize=40)
plt.legend()

# save and display the graph
plt.savefig('multiplegraph.png')
plt.show()

img

  • Subplots

    Subplot is used to plot more than one plots in a bigger plot.

6. References

  1. Official Python Refererence
  2. Matplotlib Documentation
  3. Basic Math, Mathematical Operators and Python Expressions
  4. Gallery Matplotlib