From f3a34dfb4e879f3eb7274704f44546aac4add88f Mon Sep 17 00:00:00 2001 From: Puneeth Chaganti Date: Wed, 1 Dec 2010 16:51:35 +0530 Subject: Renamed all LOs to match with their names in progress.org. --- multiple-plots/script.rst | 386 ---------------------------------------------- multiple-plots/slides.org | 123 --------------- multiple-plots/slides.tex | 106 ------------- 3 files changed, 615 deletions(-) delete mode 100644 multiple-plots/script.rst delete mode 100644 multiple-plots/slides.org delete mode 100644 multiple-plots/slides.tex (limited to 'multiple-plots') diff --git a/multiple-plots/script.rst b/multiple-plots/script.rst deleted file mode 100644 index 0271b9a..0000000 --- a/multiple-plots/script.rst +++ /dev/null @@ -1,386 +0,0 @@ -.. Objectives -.. ---------- - -.. * How to draw multiple plots which are overlaid -.. * the figure command -.. * the legend command -.. * how to switch between the plots and perform some operations on each -.. of them like saving the plots and -.. * creating and switching between subplots - - -.. Prerequisites -.. ------------- - -.. 1. using the plot command interactively -.. 2. embellishing a plot -.. 3. saving plots - -.. Author : Madhu - Internal Reviewer 1 : [potential reviewer: Puneeth] - Internal Reviewer 2 : Nishanth - External Reviewer : - Language Reviewer : Bhanukiran - Checklist OK? : <, not OK> [] - - -Script ------- - -{{{ Show the slide containing the title }}} - -Hello friends. Welcome to this spoken tutorial on Multiple plots. - -{{{ Show the slide containing the outline }}} - -In this tutorial, we will learn how to draw more than one plot, how to -add legends to each plot to indicate what each plot represents. We -will also learn how to switch between the plots and create multiple -plots with different regular axes which are also called as subplots. - -.. #[Nishanth]: See diff - edited a grammatical mistake -.. #[Madhu: Done] - -{{{ Shift to terminal and start ipython -pylab }}} - -To begin with let us start ipython with pylab, by typing:: - - ipython -pylab - -on the terminal - -Let us first create set of points for our plot. For this we will use -the command called linspace:: - - x = linspace(0, 50, 10) - -linspace command creates 10 points in the interval between 0 and 50 -both inclusive. We assign these values to a variable called x. - -.. #[Nishanth]: pre requisite for this LO is basic plotting which - covers linspace and plot. So you may not need to - specify all that again. But not a problem if it is - there also. -.. #[Madhu: Since I thought the LOs are disconnected, I thought it is - better to give a very short intro to it] - -Now let us draw a plot simple sine plot using these points:: - - plot(x, sin(x)) - -This should give us a nice sine plot. - -{{{ Switch to the plot window }}} - -Oh! wait! Is that a nice sine plot? Does a sine plot actually look -like that? We know that a sine plot is a smooth curve. Is it not? What -really caused this? - -.. #[Nishanth]: See diff -.. #[Madhu: Done] - -{{{ pause for a while }}} - -A small investigation on linspace tells us that we chose too few -points in a large interval between 0 and 50 for the curve to be -smooth. This should also indicate that the plot command actually plots -the set of points given by x and sin(x) and it doesn't plot the -analytical function itself i.e. it plots the points given by -Analytical functions. So now let us use linspace again to get 500 -points between 0 and 100 and draw the sine plot - -.. #[Nishanth]: Here specify that when we do plot(x, sin(x) - it is actually plotting two sets of points - and not analytical functions. Hence the sharp - curve. -.. #[Madhu: Incorporated] - -{{{ Switch to ipython andtype }}} :: - - y = linspace(0, 50, 500) - plot(y, sin(y)) - -{{{ Change to the plot window }}} - -Now we see what we remember as a sine plot. A smooth curve. If we -carefully notice we also have two plots now one overlaid upon -another. In pylab, by default all the plots are overlaid. - -Since we have two plots now overlaid upon each other we would like to -have a way to indicate what each plot represents to distinguish -between them. This is accomplished using legends. Equivalently, the -legend command does this for us - -{{{ Switch to ipython }}}:: - - legend(['sin(x)', 'cos(x)']) - -.. #[Nishanth]: This legend may go up in the script. May be before - introducing the figure command itself. -.. #[Madhu: brought up] - -The legend command takes a single list of parameters where each -parameter is the text indicating the plots in the order of their -serial number. - -{{{ Switch to plot window }}} - -Now we can see the legends being displayed for the respective sine and -cosine plots on the plot area. - -We have learnt quite a lot of things now, so let us take up an -exercise problem. - -%% 1 %% Draw two plots overlaid upon each other, with the first plot - being a parabola of the form y = 4(x ^ 2) and the second being a - straight line of the form y = 2x + 3 in the interval -5 to 5. Use - colors to differentiate between the plots and use legends to - indicate what each plot is doing. - -{{{ pause for a while and continue from paused state }}} - -We can obtain the two plots in different colors using the following -commands:: - - x = linspace(-5, 5, 100) - plot(x, 4 * (x * x), 'b') - plot(x, (2 * x) + 3, 'g') - -Now we can use the legend command as:: - - legend(['Parabola', 'Straight Line']) - -Or we can also just give the equations of the plot:: - - legend(['y = 4(x ^ 2)', 'y = 2x + 3']) - -We now know how to draw multiple plots and use legends to indicate -which plot represents what function, but we would like to have more -control over the plots we draw. Like switch between them, perform some -operations or labelling on them individually and so on. Let us see how -to accomplish this. Before we move on, let us clear our screen. - -{{{ Switch to ipython }}}:: - - clf() - -To accomplishing more control over individual plots we use the figure -command:: - - x = linspace(0, 50, 500) - figure(1) - plot(x, sin(x), 'b') - figure(2) - plot(x, cos(x), 'g') - -{{{ Switch to plot window }}} - -Now we have two plots, a sine plot and a cosine plot in two different -figures. - -.. #[Nishanth]: figure(1) and figure(2) give two different plots. - The remaining script moves on the fact that they - give overlaid plots which is not the case. - So clear the figure and plot cos and sin without - introducing figure command. Then introduce legend - and finish off the everything on legend. - Then introduce figure command. - -.. #[Madhu: I have just moved up the text about legend command. I - think that should take care of what you suggested. If there is - some mistake with it, Punch please let me know in your next - review.] - -{{{ Have both plot window and ipython side by side }}} - -The figure command takes an integer as an argument which is the serial -number of the plot. This selects the corresponding plot. All the plot -commands we run after this are applied to the selected plot. In this -example figure 1 is the sine plot and figure 2 is the cosine plot. We -can, for example, save each plot separately - -{{{ Switch to ipython }}}:: - - savefig('/home/user/cosine.png') - figure(1) - title('sin(y)') - savefig('/home/user/sine.png') - -{{{ Have both plot window and ipython side by side }}} - -We also titled our first plot as 'sin(y)' which we did not do for -the second plot. - -Let us attempt another exercise problem - -%% 2 %% Draw a line of the form y = x as one figure and another line - of the form y = 2x + 3. Switch back to the first figure, annotate - the x and y intercepts. Now switch to the second figure and - annotate its x and y intercepts. Save each of them. - -{{{ Pause for a while and continue from the paused state }}} - -To solve this problem we should first create the first figure using -the figure command. Before that, let us first run clf command to make -sure all the previous plots are cleared:: - - clf() - figure(1) - x = linspace(-5, 5, 100) - plot(x, x) - -Now we can use figure command to create second plotting area and plot -the figure:: - - figure(2) - plot(x, ((2 * x) + 3)) - -Now to switch between the figures we can use figure command. So let us -switch to figure 1. We are asked to annotate x and y intercepts of the -figure 1 but since figure 1 passes through origin we will have to -annotate the origin. We will annotate the intercepts for the second -figure and save them as follows:: - - figure(1) - annotate('Origin', xy=(0.0, 0.0) - figure(2) - annotate('x-intercept', xy=(0, 3)) - annotate('y-intercept', xy=(0, -1.5)) - savefig('/home/fossee/plot2.png') - figure(1) - savefig('/home/fossee/plot1.png') - -At times we run into situations where we want to compare two plots and -in such cases we want to draw both the plots in the same plotting -area. The situation is such that the two plots have different regular -axes which means we cannot draw overlaid plots. In such cases we can -draw subplots. - -We use subplot command to accomplish this - -{{{ Switch to ipython }}}:: - - subplot(2, 1, 1) - -subplot command takes three arguments, the first being the number of -rows of subplots that must be created, - -{{{ Have both plot window and ipython side by side }}} - -in this case we have 2 as the first argument so it spilts the plotting area horizontally for -two subplots. The second argument specifies the number of coloumns of -subplots that must be created. We passed 1 as the argument so the -plotting area won't be split vertically and the last argument -specifies what subplot must be created now in the order of the serial -number. In this case we passed 1 as the argument, so the first subplot -that is top half is created. If we execute the subplot command as - -{{{ Switch to ipython }}}:: - - subplot(2, 1, 2) - -{{{ Switch to plot window }}} - -The lower subplot is created. Now we can draw plots in each of the -subplot area using the plot command. - -{{{ Switch to ipython }}}:: - - x = linspace(0, 50, 500) - plot(x, cos(x)) - subplot(2, 1, 1) - y = linspace(0, 5, 100) - plot(y, y ** 2) - -{{{ Have both plot window and ipython side by side }}} - -This created two plots one in each of the subplot area. The top -subplot holds a parabola and the bottom subplot holds a cosine -curve. - -As seen here we can use subplot command to switch between the subplot -as well, but we have to use the same arguments as we used to create -that subplot, otherwise the previous subplot at that place will be -automatically erased. It is clear from the two subplots that both have -different regular axes. For the cosine plot x-axis varies from 0 to -100 and y-axis varies from 0 to 1 where as for the parabolic plot the -x-axis varies from 0 to 10 and y-axis varies from 0 to 100 - -.. #[Nishanth]: stress on the similarity between subplot and figure - commands - -.. #[Madhu: I think they are not really similar. Trying to bring in - the similarity will confuse people I think.] - -%% 3 %% We know that the Pressure, Volume and Temperatures are held by -the equation PV = nRT where nR is a constant. Let us assume nR = .01 -Joules/Kelvin and T = 200K. V can be in the range from 21cc to -100cc. Draw two different plots as subplots, one being the Pressure -versus Volume plot and the other being Pressure versus Temparature -plot. - -{{{ Pause for a while and continue }}} - -To start with, we have been given the range of Volume using which we -can define the variable V:: - - V = linspace(21, 100, 500) - -Now we can create first subplot and draw Pressure versus Volume graph -using this V. We know that nRT is a constant which is equal to 2.0 -since nR = 0.01 Joules/Kelvin and T = 200 Kelvin:: - - subplot(2, 1, 1) - plot(V, 2.0/V) - -Now we can create the second subplot and draw the Pressure versus -Temparature plot as follows:: - - subplot(2, 1, 2) - plot(200, 2.0/V) - -Unfortunately we have an error now, telling x and y dimensions don't -match. This is because our V contains a set of values as returned by -linspace and hence 2.0/V which is the pressure also contains a set of -values. But the first argument to the plot command is a single -value. So to plot this data we need to create as many points as there -are in Pressure or Volume data for Temperature too, all having the -same value. This can be accomplished using:: - - T = linspace(200, 200, 500) - -We now have 500 values in T each with the value 200 Kelvin. Plotting -this data we get the required plot:: - - plot(T, 2.0/V) - -It is left as a homework to label both X and Y axes for each of the -two subplots. - -{{{ Show summary slide }}} - -.. #[Nishanth]: Exercises are missing in the script - one exercise for overlaid plot and legend - one for figure command - one for subplot must do - -This brings us to the end of another session. In this tutorial session -we learnt - - * How to draw multiple plots which are overlaid - * the figure command - * the legend command - * how to switch between the plots and perform some operations on each - of them like saving the plots and - * creating and switching between subplots - -.. #[Nishanth]: legend command can be told right after overlaid plots -.. #[Madhu: Incorporated] - -{{{ Show the "sponsored by FOSSEE" slide }}} - -This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India - -Hope you have enjoyed and found it useful. -Thank you! - diff --git a/multiple-plots/slides.org b/multiple-plots/slides.org deleted file mode 100644 index 5d2ce93..0000000 --- a/multiple-plots/slides.org +++ /dev/null @@ -1,123 +0,0 @@ -#+LaTeX_CLASS: beamer -#+LaTeX_CLASS_OPTIONS: [presentation] -#+BEAMER_FRAME_LEVEL: 1 - -#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} -#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra) -#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC - -#+LaTeX_CLASS: beamer -#+LaTeX_CLASS_OPTIONS: [presentation] - -#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl} -#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} - -#+LaTeX_HEADER: \usepackage{listings} - -#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries, -#+LaTeX_HEADER: commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, -#+LaTeX_HEADER: showstringspaces=false, keywordstyle=\color{blue}\bfseries} - -#+TITLE: Accessing parts of arrays -#+AUTHOR: FOSSEE -#+EMAIL: -#+DATE: - -#+DESCRIPTION: -#+KEYWORDS: -#+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t -#+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc - -* Outline - - Manipulating one and multi dimensional arrays - - Access and change individual elements - - Access and change rows and columns - - Slicing and striding on arrays to access chunks - - Read images into arrays and manipulations -* Sample Arrays - #+begin_src python - In []: A = array([12, 23, 34, 45, 56]) - - In []: C = array([[11, 12, 13, 14, 15], - [21, 22, 23, 24, 25], - [31, 32, 33, 34, 35], - [41, 42, 43, 44, 45], - [51, 52, 53, 54, 55]]) - - #+end_src -* Question 1 - Change the last column of ~C~ to zeroes. -* Solution 1 - #+begin_src python - In []: C[:, -1] = 0 - #+end_src -* Question 2 - Change ~A~ to ~[11, 12, 13, 14, 15]~. -* Solution 2 - #+begin_src python - In []: A[:] = [11, 12, 13, 14, 15] - #+end_src -* squares.png - #+begin_latex - \begin{center} - \includegraphics[scale=0.6]{squares} - \end{center} - #+end_latex -* Question 3 - - obtain ~[22, 23]~ from ~C~. - - obtain ~[11, 21, 31, 41]~ from ~C~. - - obtain ~[21, 31, 41, 0]~. -* Solution 3 - #+begin_src python - In []: C[1, 1:3] - In []: C[0:4, 0] - In []: C[1:5, 0] - #+end_src -* Question 4 - Obtain ~[[23, 24], [33, -34]]~ from ~C~ -* Solution 4 - #+begin_src python - In []: C[1:3, 2:4] - #+end_src -* Question 5 - Obtain the square in the center of the image -* Solution 5 - #+begin_src python - In []: imshow(I[75:225, 75:225]) - #+end_src -* Question 6 - Obtain the following - #+begin_src python - [[12, 0], [42, 0]] - [[12, 13, 14], [0, 0, 0]] - #+end_src - -* Solution 6 - #+begin_src python - In []: C[::3, 1::3] - In []: C[::4, 1:4] - #+end_src -* Summary - You should now be able to -- - - Manipulate 1D \& Multi dimensional arrays - - Access and change individual elements - - Access and change rows and columns - - Slice and stride on arrays - - Read images into arrays and manipulate them. -* Thank you! -#+begin_latex - \begin{block}{} - \begin{center} - This spoken tutorial has been produced by the - \textcolor{blue}{FOSSEE} team, which is funded by the - \end{center} - \begin{center} - \textcolor{blue}{National Mission on Education through \\ - Information \& Communication Technology \\ - MHRD, Govt. of India}. - \end{center} - \end{block} -#+end_latex - - diff --git a/multiple-plots/slides.tex b/multiple-plots/slides.tex deleted file mode 100644 index df1462c..0000000 --- a/multiple-plots/slides.tex +++ /dev/null @@ -1,106 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%Tutorial slides on Python. -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[14pt,compress]{beamer} -%\documentclass[draft]{beamer} -%\documentclass[compress,handout]{beamer} -%\usepackage{pgfpages} -%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm] - -% Modified from: generic-ornate-15min-45min.de.tex -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=Python, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Macros -\setbeamercolor{emphbar}{bg=blue!20, fg=black} -\newcommand{\emphbar}[1] -{\begin{beamercolorbox}[rounded=true]{emphbar} - {#1} - \end{beamercolorbox} -} -\newcounter{time} -\setcounter{time}{0} -\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}} - -\newcommand{\typ}[1]{\lstinline{#1}} - -\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} } - -% Title page -\title{Your Title Here} - -\author[FOSSEE] {FOSSEE} - -\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay} -\date{} - -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - \maketitle -\end{frame} - -\begin{frame}[fragile] - \frametitle{Outline} - \begin{itemize} - \item - \end{itemize} -\end{frame} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% All other slides here. %% -%% The same slides will be used in a classroom setting. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\begin{frame}[fragile] - \frametitle{Summary} - \begin{itemize} - \item - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Thank you!} - \begin{block}{} - \begin{center} - This spoken tutorial has been produced by the - \textcolor{blue}{FOSSEE} team, which is funded by the - \end{center} - \begin{center} - \textcolor{blue}{National Mission on Education through \\ - Information \& Communication Technology \\ - MHRD, Govt. of India}. - \end{center} - \end{block} -\end{frame} - -\end{document} -- cgit