day1/cheatsheet1.tex
changeset 334 2214b5dba4d4
parent 330 46533051b9d3
child 341 7ae88b9da553
--- a/day1/cheatsheet1.tex	Tue Dec 29 19:02:01 2009 +0530
+++ b/day1/cheatsheet1.tex	Tue Dec 29 19:25:11 2009 +0530
@@ -6,7 +6,8 @@
 \usepackage{listings}
 \lstset{language=Python,
     basicstyle=\ttfamily,
-commentstyle=\itshape\bfseries
+commentstyle=\itshape\bfseries,
+showstringspaces=false,
 }
 \newcommand{\typ}[1]{\lstinline{#1}}
 \usepackage[english]{babel}
@@ -33,49 +34,118 @@
 \begin{lstlisting}     
 In [2]: (Ctrl-D)^D
 Do you really want to exit ([y]/n)? y
-\end{lstlisting}
+\end{lstlisting} %$
 
 \section{Plotting}
+\subsection{linspace}
+\typ{In []: x = linspace(start, stop, num)}\\
+\typ{linspace} returns array of length \typ{num}, for which \typ{x[0] = start} and \typ{x[num-1] = stop} \\
+\emph{Please note indices of array starts from zero(0)}
 
-  \begin{lstlisting}
-In [1]: x = linspace(0, 2*pi, 50)
-In [2]: plot(x, sin(x))
-In [3]: xlabel('x')
-In [4]: ylabel('sin(x)')
-In [5]: title('Sinusoids')
-In [6]: legend(['sin(y)'])
-In [7]: legend(['sin(2y)'], loc = 'center')
-# loc = 'upper right', 'upper left', 'lower left, 'lower right', 'center left',
-#      'center right', 'lower center', 'upper center', 'best', 'right', 'center'
+\subsection{plot}
+\typ{In []: plot(X, Y)}\\
+For given arrays of equal length(above case X and Y), \typ{plot} plots the corresponding *x* and *y* pairs taken from X and Y.
 
-In [8]: legend(['sin(2y)'], loc = (.8, .1))
+\subsection{Colors of plots}
+\typ{In []: plot(y, sin(y), 'g')}\\
+Plots graph with green color. Other options available are:
+\begin{lstlisting}
+  'r' ---> Red
+  'b' ---> Blue
+  'r' ---> Red 
+  'c' ---> Cyan 
+  'm' ---> Magenta
+  'y' ---> Yellow
+  'k' ---> Black 
+  'w' ---> White
+\end{lstlisting}
+One can set the width of the plotline using optional argument \typ{linewidth}. For example:\\
+\typ{In []: plot(x, cos(x), 'r', linewidth=2)}\\
+Plots the line with linewidth = 2
+\subsection{label and title}
+\typ{In []: xlabel('Length') #sets *x* axis label to Length}\\ 
+\typ{In []: ylabel('Time') #sets *y* axis label to Time.}\\
+\typ{In []: title('Sinusoid') #sets title of plot}\\
+\\
+\textbf{Additionally}\\
+Pylab accepts TeX equation expressions in any text expression. To get something like:\\
+$\sigma_i=15$ \\
+on title of figure use: 
+\begin{lstlisting}
+In []: title('$\sigma_i=15$')
+\end{lstlisting}  
+Same way one can have TeX expression on xlabel, ylabel etc.
 
-In [9]: savefig('sin.png')   # Save figure
-In [10]: close()             # Closes the figure
+\subsection{legends}
+\typ{In []: legend('sin(x)',loc=center)} \\
+Place a legend on the current plot at location *loc*.\\
+Apart from \typ{center}, some other \typ{loc} which can be specified are:
+\begin{lstlisting}
+'best'
+'right'
+'upper right'
+'upper left'      
+'lower left'      
+'lower right'     
+'center left'     
+'center right'    
+'lower center'    
+'upper center'    
+\end{lstlisting}
+\newpage
+One can also mention explicit co-ordinates for placement of legend. 
+\begin{lstlisting}
+In []: legend(['sin(2y)'], loc=(.8,.1)) 
+\end{lstlisting}
+\typ{loc = 0, 1} (top left position of graph)\\
+\typ{loc = 0.5, 0.5} (center of graph).
 
-In [11]: clf()               # Clears the Plot area
+\subsection{Annotate}
+\typ{In []: annotate('local max', xy=(1.5, 1))}\\
+Annotates current plot with text, 'local max', at position specified to \typ{xy}.
 
-In [12]: plot(y, sin(y), 'g')
-# Colors can be: 'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'
+\subsection{Saving figures}
+\typ{In []: savefig('sinusoids.png')}\\
+Saves the current figure with file name 'sinusoids.png' in current working directory. One can save figure in any of these formats: png, pdf, ps, eps and svg.
 
-In [13]: plot(y, cos(y), 'r', linewidth=2)
-
-In [14]: legend(['x', '-x'])
-In [15]: annotate('origin', xy=(0, 0))
+\subsection{Miscellaneous}
+\typ{In []: clf() #Clears the current plot area}\\
+\typ{In []: close() #Closes the figure}
+\section{Saving and running scripts}
+\begin{itemize}
+  \item \typ{\%hist}\\
+  It returns the logs of all commands(including mistakes) used in IPython interpreter.
+  \item \typ{\%hist -n}\\
+It disables the line number representation of logs.
+  \item \typ{\%save four\_plot.py 16 18-27}\\
+For creating a script named four\_plot which includes line 16 and line 18 to 27 of logs.
+  \item \typ{\%run -i four\_plot.py}\\
+Running the python script inside IPython interpreter.
+\end{itemize}
 
-In [16]: xmin, xman = xlim()           # Without arguments gets
-In [17]: ymin, ymax = ylim()           # values
+\section{Example}
+  \begin{lstlisting}
+In []: x = linspace(0, 2*pi, 50)
+In []: plot(x, sin(x), 'g')
+In []: plot(x, cos(x), 'r', linewidth=2)
+In []: xlabel('x')
+In []: title('Sinusoidal Waves')
+In []: legend(['sin(x)', 'cos(x)'])
+In []: annotate('origin', xy=(0, 0))
+In []: xmin, xman = xlim()  # returns current X axis limits.
+In []: ymin, ymax = ylim()
+In []: xlim(0, 2 * pi) # sets the X axis limits to passed values
+In []: ylim(ymin - 0.2, ymax + 0.2) 
 
-In [18]: xlim(0, 2 * pi)               # With values, sets the
-In [19]: ylim(ymin - 0.2, ymax + 0.2)  # specified values
+In []: savefig('sin.png')   # Save figure
+In []: close()              
   \end{lstlisting}
 
-\section{Saving and running scripts}
+\section{References}
 \begin{itemize}
-  \item \typ{\%hist}
-  \item \typ{\%save four\_plot.py 16 18-27}
-  \item \typ{\%run -i four\_plot.py}
+  \item For documentation on IPython refer: \\ http://ipython.scipy.org/moin/Documentation
+  \item Plotting(matplotlib) related documentation are available at:\\ http://matplotlib.sourceforge.net/contents.html
+  \item Explore examples and plots based on matplotlib at \\ http://matplotlib.sourceforge.net/examples/index.html
 \end{itemize}
-
 \end{document}