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 |
|
19 Internal Reviewer : Anoop Jacob Thomas<anoop@fossee.in> |
|
20 External Reviewer : |
|
21 Checklist OK? : <put date stamp here, if OK> [2010-10-05] |
|
22 |
|
23 .. #[[Anoop: Add quickref]] |
|
24 .. #[[Anoop: Slides are incomplete, add summary slide, thank you slide |
|
25 etc.]] |
|
26 |
|
27 =============================== |
|
28 Plotting Experimental Data |
|
29 =============================== |
|
30 |
|
31 {{{ Show the slide containing title }}} |
|
32 |
|
33 Hello and welcome , this tutorial on Plotting Experimental data is |
|
34 presented by the fossee team. |
|
35 |
|
36 {{{ Show the Outline Slide }}} |
|
37 |
|
38 .. #[[Anoop: outline slide is missing]] |
|
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 |
|
44 2. We will also become familiar with elementwise squaring of such a |
|
45 sequence. |
|
46 |
|
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. |
|
50 |
|
51 One needs to be familiar with the concepts of plotting |
|
52 mathematical functions in Python. |
|
53 |
|
54 We will use data from a Simple Pendulum Experiment to illustrate. |
|
55 |
|
56 .. #[[Anoop: what do you mean by points here? if you mean the |
|
57 points/numbered list in outline slide, then remove the usage point |
|
58 from here.]] |
|
59 |
|
60 {{{ Simple Pendulum data Slide }}} |
|
61 |
|
62 .. #[[Anoop: slides are incomplete, work on slides and context |
|
63 switches]] |
|
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 |
|
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. |
|
73 |
|
74 .. #[[Anoop: instead of saying "to tell ipython a sequence of values" |
|
75 and make it complicated, we can tell, we define a sequence as]] |
|
76 |
|
77 .. #[[Anoop: sentence is incomplete, can be removed]] |
|
78 |
|
79 {{{ Show the initializing L&T slide }}} |
|
80 |
|
81 Type in ipython shell :: |
|
82 |
|
83 L = [0.1, 0.2, 0.3, 0.4, 0.5,0.6, 0.7, 0.8, 0.9] |
|
84 |
|
85 t= [0.69, 0.90, 1.19,1.30, 1.47, 1.58, 1.77, 1.83, 1.94] |
|
86 |
|
87 |
|
88 To obtain the square of sequence t we will use the function square |
|
89 with argument t.This is saved into the variable tsquare.:: |
|
90 |
|
91 tsquare=square(t) |
|
92 tsqaure |
|
93 array([ 0.4761, 0.81 , 1.4161, 1.69 , 2.1609, 2.4964, 3.1329, |
|
94 3.3489, 3.7636]) |
|
95 |
|
96 .. #[[Anoop: how do you get the array([ 0.4761 ....]) output?]] |
|
97 |
|
98 |
|
99 Now to plot L vs T^2 we will simply type :: |
|
100 |
|
101 plot(L,tsquare,'.') |
|
102 |
|
103 .. #[[Anoop: be consistent with the spacing and all.]] |
|
104 |
|
105 '.' here represents to plot use small dots for the point. :: |
|
106 |
|
107 clf() |
|
108 |
|
109 You can also specify 'o' for big dots.:: |
|
110 |
|
111 plot(L,tsquare,'o') |
|
112 |
|
113 clf() |
|
114 |
|
115 |
|
116 Following are exercises that you must do. |
|
117 |
|
118 %% %% Plot the given experimental data with large dots.The data is |
|
119 on your screen. |
|
120 |
|
121 %% %% Plot the given experimental data with small dots. |
|
122 The data is on your screen |
|
123 |
|
124 |
|
125 Please, pause the video here. Do the exercises and then continue. |
|
126 |
|
127 |
|
128 |
|
129 |
|
130 |
|
131 .. #[[Anoop: Make sure code is correct, corrected plot(L,t,o) to |
|
132 plot(L,t,'o')]] |
|
133 |
|
134 |
|
135 |
|
136 .. #[[Anoop: again slides are incomplete.]] |
|
137 |
|
138 For any experimental there is always an error in measurements due to |
|
139 instrumental and human constaraints.Now we shall try and take into |
|
140 account error into our plots . The Error values for L and T are on |
|
141 your screen.We shall again intialize the sequence values in the same |
|
142 manner as we did for L and t |
|
143 |
|
144 The error data we will use is on your screen. |
|
145 |
|
146 {{{ Show the Adding Error Slide }}} |
|
147 .. #[[Anoop: give introduction to error and say what we are going to |
|
148 do]] |
|
149 |
|
150 :: |
|
151 |
|
152 delta_L= [0.08,0.09,0.07,0.05,0.06,0.00,0.06,0.06,0.01] |
|
153 delta_T= [0.04,0.08,0.03,0.05,0.03,0.03,0.04,0.07,0.08] |
|
154 |
|
155 Now to plot L vs T^2 with an error bar we use the function errorbar() |
|
156 |
|
157 The syntax of the command is as given on the screen. :: |
|
158 |
|
159 |
|
160 errorbar(L,tsquare,xerr=delta_L, yerr=delta_T, fmt='b.') |
|
161 |
|
162 This gives a plot with error bar for x and y axis. The dots are of |
|
163 blue color. The parameters xerr and yerr are error on x and y axis and |
|
164 fmt is the format of the plot. |
|
165 |
|
166 |
|
167 similarly we can draw the same error bar with big red dots just change |
|
168 the parameters to fmt to 'ro'. :: |
|
169 |
|
170 clf() |
|
171 errorbar(L,tsquare,xerr=delta_L, yerr=delta_T, fmt='ro') |
|
172 |
|
173 |
|
174 |
|
175 thats it. you can explore other options to errorbar using the documentation |
|
176 of errorbar.:: |
|
177 |
|
178 errorbar? |
|
179 |
|
180 Following is an exercise that you must do. |
|
181 |
|
182 %% %% Plot the given experimental data with large green dots.Also include |
|
183 the error in your plot. |
|
184 |
|
185 Please, pause the video here. Do the exercise and then continue. |
|
186 |
|
187 |
|
188 |
|
189 |
|
190 |
|
191 |
|
192 |
|
193 {{{ Show Summary Slide }}} |
|
194 |
|
195 In this tutorial we have learnt : |
|
196 |
|
197 |
|
198 |
|
199 1. How to declare a sequence of numbers. |
|
200 |
|
201 2. Plotting experimental data. |
|
202 |
|
203 #. The various options available for plotting dots instead of lines. |
|
204 |
|
205 #. Plotting experimental data such that we can also represent error. |
|
206 |
|
207 |
|
208 |
|
209 {{{ Show the "sponsored by FOSSEE" slide }}} |
|
210 |
|
211 .. #[[Anoop: again slides are incomplete]] |
|
212 |
|
213 This tutorial was created as a part of FOSSEE project. |
|
214 |
|
215 Hope you have enjoyed and found it useful. |
|
216 |
|
217 Thank You! |
|
218 |
|