day1/cheatsheet1.tex
author Shantanu <shantanu@fossee.in>
Wed, 18 Nov 2009 18:37:15 +0530
changeset 313 f5bcb974a665
parent 308 d93be08d69f8
child 317 0eca6c542fce
permissions -rwxr-xr-x
Initial changes to cheat sheet for session 2.

\documentclass[12pt]{article}


\title{Interactive Plotting}
\author{FOSSEE}
\usepackage{listings}
\lstset{language=Python,
    basicstyle=\ttfamily,
commentstyle=\itshape\bfseries,
showstringspaces=false,
}
\newcommand{\typ}[1]{\lstinline{#1}}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage{ae,aecompl}
\usepackage{mathpazo,courier,euler}
\usepackage[scaled=.95]{helvet}

\begin{document}
\date{}
\vspace{-1in}
\begin{center}
\LARGE{Interactive Plotting}\\
\large{FOSSEE}
\end{center}
\section{Starting up...}

\begin{lstlisting}
  $ ipython -pylab  
\end{lstlisting}
Exiting 
\begin{lstlisting}     
In [2]: (Ctrl-D)^D
Do you really want to exit ([y]/n)? y
\end{lstlisting} %$

\section{Plotting}

\subsection{Label}
Pylab accepts TeX equation expressions in any text expression. To get something like:\\
$\sigma_i=15$ \\
on title of figure use: 
\begin{lstlisting}
  title('$\sigma_i=15$')
\end{lstlisting}  
Same way one can have TeX expression on xlabel, ylabel etc.

\subsection{legends}
Apart from \kwrd{center}, some other \kwrd{loc} which can be specified are:
\begin{lstlisting}
'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} (left top position of graph)\\
\typ{loc = 0.5, 0.5} (center of graph).

\subsection{Saving figures}
One can save figure in any of these formats: png, pdf, ps, eps and svg.

\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}

\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}

\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()           # Without arguments gets
In []: ymin, ymax = ylim()           # values

In []: xlim(0, 2 * pi)               # With values, sets the
In []: ylim(ymin - 0.2, ymax + 0.2)  # specified values

In []: savefig('sin.png')   # Save figure
In []: close()              # Closes the figure
  \end{lstlisting}

\section{References}
\begin{itemize}
  \item For documentation on IPython refer: \\ \url{http://ipython.scipy.org/moin/Documentation}
  \item Plotting(matplotlib) related documentation are available at:\\ \url{http://matplotlib.sourceforge.net/contents.html}
  \item Explore examples and plots based on matplotlib at \\ \url{http://matplotlib.sourceforge.net/examples/index.html}
\end{itemize}
\end{document}