plotting-data.rst
author Puneeth Chaganti <punchagan@fossee.in>
Wed, 10 Nov 2010 10:24:03 +0530
changeset 435 975677bf1b8a
parent 146 b92b4e7ecd7b
permissions -rw-r--r--
Changes to progress.org.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
146
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     1
Plotting   Experimental  Data  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     2
=============================   
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     3
Hello  and welcome , this tutorial on  Plotting Experimental data is 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     4
presented by the fossee  team.  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     5
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     6
{{{ Show the slide containing title }}}
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     7
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     8
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
     9
{{{ Show the Outline Slide }}}
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    10
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    11
Here  we will discuss plotting  Experimental data. 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    12
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    13
1.We will see how we can represent a sequence of numbers in Python. 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    14
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    15
2.We will also become fimiliar with  elementwise squaring of such a
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    16
sequence. 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    17
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    18
3. We will also see how we can use our graph to indicate Error.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    19
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    20
One needs   to  be  fimiliar  with  the   concepts  of  plotting
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    21
mathematical functions in Python.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    22
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    23
We will use  data from a Simple Pendulum  Experiment to illustrate our
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    24
points. 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    25
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    26
{{{ Simple Pendulum data Slide }}} 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    27
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    28
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    29
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    30
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    31
As we know for a simple pendulum length,L is directly  proportional to 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    32
the square of time,T. We shall be plotting L and T^2 values.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    33
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    34
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    35
First  we will have  to initiate L and  T values. We initiate them as sequence 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    36
of values.  To tell ipython a sequence of values we  write the sequence in 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    37
comma  seperated values inside two square brackets.  This is also  called List 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    38
so to create two sequences
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    39
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    40
L,t type in ipython shell. ::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    41
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    42
    In []: L = [0.1, 0.2, 0.3, 0.4, 0.5,0.6, 0.7, 0.8, 0.9]
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    43
    
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    44
    In []: t= [0.69, 0.90, 1.19,1.30, 1.47, 1.58, 1.77, 1.83, 1.94]
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    45
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    46
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    47
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    48
To obtain the  square of sequence t we will  use the function square
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    49
with argument t.This is saved into the variable tsquare.::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    50
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    51
   In []: tsquare=square(t)
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    52
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    53
   array([  0.4761, 0.81 , 1.4161,  1.69 , 2.1609,  2.4964, 3.1329, 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    54
   3.3489, 3.7636])
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    55
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    56
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    57
Now to plot L vs T^2 we will simply type ::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    58
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    59
  In []: plot(L,t,.)
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    60
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    61
'.' here represents to plot use small dots for the point. ::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    62
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    63
  In []: clf()
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    64
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    65
You can also specify 'o' for big dots.::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    66
 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    67
  In []: plot(L,t,o)
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    68
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    69
  In []: clf()
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    70
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    71
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    72
{{{ Slide with Error data included }}}
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    73
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    74
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    75
Now we  shall try  and take into  account error  into our plots . The
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    76
Error values for L and T  are on your screen.We shall again intialize
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    77
the sequence values in the same manner as we did for L and t ::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    78
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    79
  In []: delta_L= [0.08,0.09,0.07,0.05,0.06,0.00,0.06,0.06,0.01]
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    80
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    81
  In []: delta_T= [0.04,0.08,0.11,0.05,0.03,0.03,0.01,0.07,0.01]
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    82
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    83
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    84
  
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    85
Now to plot L vs T^2 with an error bar we use the function errorbar()
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    86
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    87
The syntax of the command is as given on the screen. ::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    88
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    89
    
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    90
    In []: errorbar(L,tsquare,xerr=delta_L, yerr=delta_T, fmt='b.')
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    91
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    92
This gives a  plot with error bar for  x and y axis. The  dots are of
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    93
blue color.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    94
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    95
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    96
similarly we can draw the same error bar with big red dots just change 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    97
the parameters to fmt to 'ro'. ::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    98
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
    99
    In []: clf()
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   100
    In []: errorbar(L,tsquare,xerr=delta_L, yerr=delta_T, fmt='ro')
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   101
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   102
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   103
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   104
thats it. you can explore other options to errorbar using the documentation 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   105
of errorbar.::
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   106
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   107
   In []: errorbar?
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   108
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   109
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   110
{{{ Summary Slides }}}
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   111
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   112
In this tutorial we have learnt : 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   113
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   114
1. How to declare a sequence of number , specifically the kind of sequence we learned was a list.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   115
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   116
2. Plotting experimental data extending our knowledge from mathematical functions. 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   117
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   118
3. The various options available for plotting dots instead of lines.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   119
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   120
4. Plotting experimental data such that we can also represent error. We did this using the errorbar() function.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   121
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   122
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   123
 {{{ Show the "sponsored by FOSSEE" slide }}}
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   124
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   125
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   126
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   127
This tutorial was created as a part of FOSSEE project.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   128
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   129
Hope you have enjoyed and found it useful.
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   130
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   131
 Thankyou
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   132
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   133
 
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   134
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   135
Author              : Amit Sethi
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   136
Internal Reviewer   :
b92b4e7ecd7b Initial commit of Plotting Data
amit
parents:
diff changeset
   137
Internal Reviewer 2 :