diff -r 25b18b51be41 -r 2214b5dba4d4 day1/cheatsheet1.tex --- 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}