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