diff -r d33698326409 -r 54bdda4aefa5 other_types_of_plots/script.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/other_types_of_plots/script.rst Thu Dec 02 14:43:42 2010 +0530 @@ -0,0 +1,264 @@ +.. Objectives +.. ---------- + +.. At the end of this tutorial, you will be able to + +.. 1. Create scatter plot +.. #. Create pie charts +.. #. Create bar charts +.. #. Create log-log plots. + +.. Prerequisites +.. ------------- + +.. 1. should have ``ipython`` and ``pylab`` installed. +.. #. getting started with ``ipython``. +.. #. loading data from files +.. #. plotting the data + + +.. Author : Anoop Jacob Thomas + Internal Reviewer : Puneeth + External Reviewer : + Language Reviewer : Bhanukiran + Checklist OK? : <10-11-2010, Anand, OK> [2010-10-05] + +.. #[Puneeth: Quickref missing] + +=================== +Other type of plots +=================== + +{{{ show the first slide }}} + +Hello and welcome to the tutorial ``The other kinds of plots``. + +.. #[Puneeth: this sentence doesn't read well] + +{{{ show the outline slide }}} + +.. #[Puneeth: motivate looking at other plots. Why are we looking at +.. them? Tell that we have only looked at one type of plot all the +.. while, etc.] + +Till now we have seen only one kind of plotting, and in this tutorial we +are going to see more kinds of plots such as the scatter plot, the pie chart, the bar chart and +the log-log plot. This tutorial covers the making of other kinds of +plots and also gives an introduction to matplotlib help. + +.. #[Puneeth: cover, see and introduce you. be consistent. does, the +.. "We" include the viewer or not?] + +Let us start with scatter plot. + +{{{ switch to the next slide, scatter plot }}} + +In a scatter plot, the data is displayed as a collection of points, +each having the value of one variable determining the position on the +horizontal axis and the value of the other variable determining the +position on the vertical axis. This kind of plot is also called a +scatter chart, a scatter diagram or a scatter graph. + +Before we proceed further, start your IPython interpreter +:: + + ipython -pylab + +{{{ open the ipython interpreter in the terminal using the command +ipython -pylab }}} + +{{{ switch to the next slide having the problem statement of first +exercise }}} + +Now, let us plot a scatter plot showing the percentage profit of +a company A from the year 2000-2010. The data for the same is available +in the file ``company-a-data.txt``. + +{{{ open the file company-a-data.txt and show the content }}} + +The data file has two lines with a set of values in each line, the +first line representing years and the second line representing the +profit percentages. + +{{{ close the file and switch to the terminal }}} + +To produce the scatter plot, we first need to load the data from the +file using ``loadtxt``. We learned it in one of the previous sessions, +and it can be done as :: + + year,profit = + loadtxt('/home/fossee/other-plot/company-a-data.txt',dtype=type(int())) + +By default loadtxt converts the value to float. The +``dtype=type(int())`` argument in loadtxt converts the value to +integer as we require the data as integer further in the tutorial. + +.. #[Puneeth: make a remark about dtype, that has not been covered in +.. the loadtxt tutorial.] + +{{{ switch to next slide, ``scatter`` function }}} + +Now in-order to generate the scatter graph we will use the function +``scatter()`` +:: + + scatter(year,profit) + +Notice that we passed two arguments to ``scatter()`` function, first +one the values in x-coordinate, year, and the other the values in +y-coordinate, the profit percentage. + +{{{ switch to the next slide which has the problem statement of +problem to be tried out }}} + +Now here is a question for you to try out, plot the same data with red +diamonds markers. + +.. **Clue** - *try scatter? in your ipython interpreter* + +Pause here and solve the question before moving on. + +.. scatter(year,profit,color='r',marker='d') + +Now let us see another kind of plot, the pie chart, for the same data. + +.. #[Puneeth: instead of just saying that, say that let's plot a pie +.. chart for the same data. continuity, will be good.] + +{{{ switch to the slide which says about pie chart }}} + +A pie chart or a circle graph is a circular chart divided into +sectors, illustrating proportion. + +{{{ switch to the slide showing the problem statement of second +exercise question }}} + +Plot a pie chart representing the profit percentage of company A, with +the same data from file ``company-a-data.txt``. So let us reuse the +data we have loaded from the file previously. + +.. #[Puneeth, this part can be move above.] + +{{{ switch to next slide, ``pie()`` function }}} + +We can plot the pie chart using the function ``pie()``. +:: + + pie(profit,labels=year) + +Notice that we passed two arguments to the function ``pie()``. First +one the values and the next one the set of labels to be used in the +pie chart. + +{{{ switch to the next slide which has the problem statement of +problem to be tried out }}} + +Now here is a question for you to try out, plot a pie chart with the +same data with colors for each wedges as white, red, black, magenta, +yellow, blue, green, cyan, yellow, magenta and blue respectively. + +.. **Clue** - *try pie? in your ipython interpreter* + +Pause here and solve the question before moving on. + +.. pie(t,labels=s,colors=('w','r','k','m','y','b','g','c','y','m','b')) + +{{{ switch to the slide which says about bar chart }}} + +Now let us move on to the bar charts. A bar chart or bar graph is a chart +with rectangular bars with lengths proportional to the values that +they represent. + +{{{ switch to the slide showing the problem statement of fifth +exercise question }}} + +Plot a bar chart representing the profit percentage of company A, with +the same data from file ``company-a-data.txt``. + +So let us reuse the data we have loaded from the file previously. + +{{{ switch to the next slide, ``bar()`` function }}} + +We can plot the bar chart using the function ``bar()``. +:: + + bar(year,profit) + +Note that the function ``bar()`` needs at least two arguments one the +values in x-coordinate and the other values in y-coordinate which is +used to determine the height of the bars. + +{{{ switch to the next slide which has the problem statement of +problem to be tried out }}} + +Now here is a question for you to try, plot a bar chart which is not +filled and which is hatched with 45\ :sup:`o` slanting lines as shown +in the image in the slide. The data for the chart may be obtained from +the file ``company-a-data.txt``. + +.. **Clue** - *try bar? in your ipython interpreter* + +.. bar(year,profit,fill=False,hatch='/') + +{{{ switch to the slide which says about log-log graph }}} + +Now let us move on to the log-log plot. A log-log graph or a log-log plot is +a two-dimensional graph of numerical data that uses logarithmic scales +on both the horizontal and vertical axes. Because of the nonlinear +scaling of the axes, a function of the form y = ax\ :sup:`b` will +appear as a straight line on a log-log graph + +{{{ switch to the slide showing the problem statement of fourth +exercise question }}} + + +Plot a `log-log` chart of y=5*x\ :sup:`3` for x from 1-20. + +Before we actually plot let us calculate the points needed for +that. +:: + + x = linspace(1,20,100) + y = 5*x**3 + +{{{ switch to next slide, ``loglog()`` function }}} + +Now we can plot the log-log chart using ``loglog()`` function, +:: + + loglog(x,y) + +To understand the difference between a normal ``plot`` and a ``log-log +plot`` let us create another plot using the function ``plot``. +:: + + figure(2) + plot(x,y) + +{{{ show both the plots side by side }}} + +So that was ``log-log() plot``. + +{{{ switch to the next slide which says: "How to get help on +matplotlib online"}}} + +Now we will see few more plots and also see how to access help of +matplotlib over the internet. + +Help about matplotlib can be obtained from +matplotlib.sourceforge.net/contents.html + + +More plots can be seen at +matplotlib.sourceforge.net/users/screenshots.html and also at +matplotlib.sourceforge.net/gallery.html + +{{{ switch to summary slide }}} + +Now we have come to the end of this tutorial. We have covered scatter +plot, pie chart, bar chart, log-log plot and also saw few other plots +and covered how to access the matplotlib online help. + +{{{ switch to the thank you slide }}} + +Thank you!