plotting-files.txt
changeset 0 67604aed10e0
child 3 093edb39f292
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plotting-files.txt	Tue Mar 30 11:00:01 2010 +0530
@@ -0,0 +1,101 @@
+Hello, this is second tutorial from the series of Python for 
+Scientific computing.
+
+Here we will teach you how to plot experimental data, with two
+variables. Please make sure you have pendulum.txt file, we will
+be using it for introduction of concepts(requirements page!).
+
+In general, we don't plot (analytical) functions. We often have
+experimental data points, that we wish to plot. We shall look at
+inputting this data and plotting it. 
+
+The data could be input (or entered) in two formats. For smaller data
+sets we could use lists to input the data and use plain text files for
+(somewhat?) larger ones. (Binary files?)
+
+# Before starting with this video, you should be comfortable with
+#   - Lists
+#     - initializing them
+#     - appending elements to lists
+#   - for command
+#     - iterating over a list
+#   - split command
+#   - plot command
+#     - plotting two variables
+
+Let's begin with inputting the data as lists and plotting it. 
+
+x = [0, 1, 2.1, 3.1, 4.2, 5.2]
+here x is a list. I python list is a container that holds number of
+objects. Various functions related to lists will be covered in more 
+detail later.
+
+We create one more list to represent corresponding Y values
+y = [0, 0.8, 0.9, 0, -0.9, -0.8]
+
+Now we have x and y in two lists and we make a plot of x vs. y. 
+plot (x, y, 'o')
+Here, we have our plot!
+
+[We close the plot window. ]
+
+Now, that we know how to plot data which is in lists, we will look at
+plotting data which is in a text file. Essentially, we read the data
+from the file and massage it into lists again. Then we can easily
+plot it, as we already did. 
+
+As an example we will use the data collected from a simple pendulum
+experiment. We have the data of, the length of pendulum vs. the time
+period of the pendulum in the file pendulum.txt
+
+In []: cat pendulum.txt (windows?)
+
+The cat command, shows the contents of the file. 
+
+The first column is the length of the pendulum and the second column
+is the time. We read the file line-by-line, collect the data into
+lists and plot them. 
+
+We begin with initializing three empty lists for length, time-period
+and square of the time-period. 
+
+l = []
+#len? (confusion over 1 and l(damm they are really same looking:P))
+t = []
+tsq = []
+
+Now we open the file and read it line by line. 
+for line in open('pendulum.txt'):
+
+open returns a iterable object which we traverse using for loop. In 
+python  iterates over items of any sequence.
+#we will cover more of 'for' loop in later sections
+line is a string variable storing one line at a time as for loop 
+iterates through file.
+We split each line at the space 
+    point = line.split()
+
+mind the indentation here.
+
+Then we append the length and time values to the corresponding
+lists. Note that they are converted from strings to floats, before
+appending to the lists
+    l.append(float(point[0])
+    t.append(float(point[1])
+We also calculate the squares of the time-period and append to the end
+of the tsq list. 
+    tsq.append(t[-1]*t[-1])
+For any given list to access last element python provides '-1' index, 
+so we use t[-1].
+
+Now the lists l, t have the required data. We can simply plot them, as
+we did already. 
+
+plot(l, t, 'o')
+
+Enjoy!
+
+******************
+We should have two tutorials here, one should be basic, using for loops
+and lists
+Second one using loadtxt.