author | Puneeth Chaganti <punchagan@fossee.in> |
Tue, 09 Nov 2010 16:16:55 +0530 | |
changeset 424 | 19f49715e83f |
parent 416 | 06ac45f4de88 |
child 429 | bb6bab81e9f2 |
child 432 | c92662f02209 |
permissions | -rw-r--r-- |
372 | 1 |
.. Objectives |
2 |
.. ---------- |
|
3 |
||
4 |
.. By the end of this tutorial, you will be able to |
|
5 |
||
6 |
.. 1. Defining a list of numbers |
|
7 |
.. 2. Squaring a list of numbers |
|
8 |
.. 3. Plotting data points. |
|
9 |
.. 4. Plotting errorbars. |
|
10 |
||
11 |
||
12 |
.. Prerequisites |
|
13 |
.. ------------- |
|
14 |
||
15 |
.. 1. getting started with plotting |
|
16 |
||
17 |
||
18 |
.. Author : Amit |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
19 |
Internal Reviewer : Anoop Jacob Thomas<anoop@fossee.in> |
372 | 20 |
External Reviewer : |
21 |
Checklist OK? : <put date stamp here, if OK> [2010-10-05] |
|
22 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
23 |
.. #[[Anoop: Add quickref]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
24 |
.. #[[Anoop: Slides are incomplete, add summary slide, thank you slide |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
25 |
etc.]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
26 |
|
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
27 |
=============================== |
322 | 28 |
Plotting Experimental Data |
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
29 |
=============================== |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
30 |
|
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
31 |
{{{ Show the slide containing title }}} |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
32 |
|
322 | 33 |
Hello and welcome , this tutorial on Plotting Experimental data is |
34 |
presented by the fossee team. |
|
35 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
36 |
{{{ Show the Outline Slide }}} |
322 | 37 |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
38 |
.. #[[Anoop: outline slide is missing]] |
322 | 39 |
|
40 |
Here we will discuss plotting Experimental data. |
|
41 |
||
42 |
1. We will see how we can represent a sequence of numbers in Python. |
|
43 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
44 |
2. We will also become familiar with elementwise squaring of such a |
322 | 45 |
sequence. |
46 |
||
416 | 47 |
3. How to plot data points using python. |
48 |
||
49 |
4. We will also see how we can use our graph to indicate Error. |
|
322 | 50 |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
51 |
One needs to be familiar with the concepts of plotting |
322 | 52 |
mathematical functions in Python. |
53 |
||
416 | 54 |
We will use data from a Simple Pendulum Experiment to illustrate. |
322 | 55 |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
56 |
.. #[[Anoop: what do you mean by points here? if you mean the |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
57 |
points/numbered list in outline slide, then remove the usage point |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
58 |
from here.]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
59 |
|
322 | 60 |
{{{ Simple Pendulum data Slide }}} |
61 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
62 |
.. #[[Anoop: slides are incomplete, work on slides and context |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
63 |
switches]] |
322 | 64 |
|
65 |
||
66 |
As we know for a simple pendulum length,L is directly proportional to |
|
67 |
the square of time,T. We shall be plotting L and T^2 values. |
|
68 |
||
69 |
||
70 |
First we will have to initiate L and T values. We initiate them as sequence |
|
416 | 71 |
of values. We define a sequence by comma seperated values inside two square brackets. |
72 |
This is also called List.Lets create two sequences L and t. |
|
322 | 73 |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
74 |
.. #[[Anoop: instead of saying "to tell ipython a sequence of values" |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
75 |
and make it complicated, we can tell, we define a sequence as]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
76 |
|
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
77 |
.. #[[Anoop: sentence is incomplete, can be removed]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
78 |
|
416 | 79 |
{{{ Show the initializing L&T slide }}} |
80 |
||
81 |
Type in ipython shell :: |
|
322 | 82 |
|
416 | 83 |
L = [0.1, 0.2, 0.3, 0.4, 0.5,0.6, 0.7, 0.8, 0.9] |
322 | 84 |
|
416 | 85 |
t= [0.69, 0.90, 1.19,1.30, 1.47, 1.58, 1.77, 1.83, 1.94] |
322 | 86 |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
87 |
|
416 | 88 |
To obtain the square of sequence t we will use the function square |
322 | 89 |
with argument t.This is saved into the variable tsquare.:: |
90 |
||
416 | 91 |
tsquare=square(t) |
92 |
tsqaure |
|
322 | 93 |
array([ 0.4761, 0.81 , 1.4161, 1.69 , 2.1609, 2.4964, 3.1329, |
94 |
3.3489, 3.7636]) |
|
95 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
96 |
.. #[[Anoop: how do you get the array([ 0.4761 ....]) output?]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
97 |
|
322 | 98 |
|
99 |
Now to plot L vs T^2 we will simply type :: |
|
100 |
||
416 | 101 |
plot(L,tsquare,'.') |
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
102 |
|
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
103 |
.. #[[Anoop: be consistent with the spacing and all.]] |
322 | 104 |
|
105 |
'.' here represents to plot use small dots for the point. :: |
|
106 |
||
416 | 107 |
clf() |
322 | 108 |
|
109 |
You can also specify 'o' for big dots.:: |
|
110 |
||
416 | 111 |
plot(L,tsquare,'o') |
322 | 112 |
|
416 | 113 |
clf() |
322 | 114 |
|
115 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
116 |
.. #[[Anoop: Make sure code is correct, corrected plot(L,t,o) to |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
117 |
plot(L,t,'o')]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
118 |
|
416 | 119 |
|
322 | 120 |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
121 |
.. #[[Anoop: again slides are incomplete.]] |
322 | 122 |
|
416 | 123 |
For any experimental there is always an error in measurements due to |
124 |
instrumental and human constaraints.Now we shall try and take into |
|
125 |
account error into our plots . The Error values for L and T are on |
|
126 |
your screen.We shall again intialize the sequence values in the same |
|
127 |
manner as we did for L and t |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
128 |
|
416 | 129 |
The error data we will use is on your screen. |
130 |
||
131 |
{{{ Show the Adding Error Slide }}} |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
132 |
.. #[[Anoop: give introduction to error and say what we are going to |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
133 |
do]] |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
134 |
|
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
135 |
:: |
322 | 136 |
|
416 | 137 |
delta_L= [0.08,0.09,0.07,0.05,0.06,0.00,0.06,0.06,0.01] |
138 |
delta_T= [0.04,0.08,0.03,0.05,0.03,0.03,0.04,0.07,0.08] |
|
322 | 139 |
|
140 |
Now to plot L vs T^2 with an error bar we use the function errorbar() |
|
141 |
||
142 |
The syntax of the command is as given on the screen. :: |
|
143 |
||
144 |
||
416 | 145 |
errorbar(L,tsquare,xerr=delta_L, yerr=delta_T, fmt='b.') |
322 | 146 |
|
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
147 |
This gives a plot with error bar for x and y axis. The dots are of |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
148 |
blue color. The parameters xerr and yerr are error on x and y axis and |
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
149 |
fmt is the format of the plot. |
322 | 150 |
|
151 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
152 |
similarly we can draw the same error bar with big red dots just change |
322 | 153 |
the parameters to fmt to 'ro'. :: |
154 |
||
416 | 155 |
clf() |
156 |
errorbar(L,tsquare,xerr=delta_L, yerr=delta_T, fmt='ro') |
|
322 | 157 |
|
158 |
||
159 |
||
160 |
thats it. you can explore other options to errorbar using the documentation |
|
161 |
of errorbar.:: |
|
162 |
||
416 | 163 |
errorbar? |
322 | 164 |
|
165 |
||
416 | 166 |
{{{ Show Summary Slide }}} |
322 | 167 |
|
168 |
In this tutorial we have learnt : |
|
169 |
||
170 |
1. How to declare a sequence of number , specifically the kind of sequence we learned was a list. |
|
171 |
||
172 |
2. Plotting experimental data extending our knowledge from mathematical functions. |
|
173 |
||
174 |
3. The various options available for plotting dots instead of lines. |
|
175 |
||
176 |
4. Plotting experimental data such that we can also represent error. We did this using the errorbar() function. |
|
177 |
||
178 |
||
179 |
{{{ Show the "sponsored by FOSSEE" slide }}} |
|
180 |
||
399
3c16961361cd
reviewed plotting-data.
Anoop Jacob Thomas<anoop@fossee.in>
parents:
372
diff
changeset
|
181 |
.. #[[Anoop: again slides are incomplete]] |
322 | 182 |
|
183 |
This tutorial was created as a part of FOSSEE project. |
|
184 |
||
185 |
Hope you have enjoyed and found it useful. |
|
186 |
||
416 | 187 |
Thank You! |
322 | 188 |