%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Tutorial slides on Python. % % Author: Prabhu Ramachandran % Copyright (c) 2005-2009, Prabhu Ramachandran %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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{split} \setbeamercovered{transparent} } \usepackage[english]{babel} \usepackage[latin1]{inputenc} %\usepackage{times} \usepackage[T1]{fontenc} % Taken from Fernando's slides. \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}}} } %%% This is from Fernando's setup. % \usepackage{color} % \definecolor{orange}{cmyk}{0,0.4,0.8,0.2} % % Use and configure listings package for nicely formatted code % \usepackage{listings} % \lstset{ % language=Python, % basicstyle=\small\ttfamily, % commentstyle=\ttfamily\color{blue}, % stringstyle=\ttfamily\color{orange}, % showstringspaces=false, % breaklines=true, % postbreak = \space\dots % } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Title page \title[]{Interactive Plotting} \author[FOSSEE] {FOSSEE} \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay} \date[] {31, October 2009\\Day 1, Session 1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo} %\logo{\pgfuseimage{iitmlogo}} %% Delete this, if you do not want the table of contents to pop up at %% the beginning of each subsection: \AtBeginSubsection[] { \begin{frame} \frametitle{Outline} \tableofcontents[currentsection,currentsubsection] \end{frame} } \AtBeginSection[] { \begin{frame} \frametitle{Outline} \tableofcontents[currentsection,currentsubsection] \end{frame} } % If you wish to uncover everything in a step-wise fashion, uncomment % the following command: %\beamerdefaultoverlayspecification{<+->} %\includeonlyframes{current,current1,current2,current3,current4,current5,current6} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DOCUMENT STARTS \begin{document} \begin{frame} \maketitle \end{frame} %% \begin{frame} %% \frametitle{Outline} %% \tableofcontents %% % You might wish to add the option [pausesections] %% \end{frame} \begin{frame}[fragile] \frametitle{Starting up...} \begin{verbatim} $ ipython -pylab \end{verbatim} Exiting \begin{lstlisting} In []: print "Hello, World!" In []: ^D Do you really want to exit ([y]/n)? y \end{lstlisting} Breaking out of loops \begin{lstlisting} In []: while True: ...: print "Hello, World!" ...: Hello, World! Hello, World!^C \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{First Plot} \begin{lstlisting} In []: x = linspace(0, 2*pi, 51) \end{lstlisting} \typ{linspace(start, stop, num)} \\ returns \typ{num} evenly spaced points, in the interval [\typ{start}, \typ{stop}]. \begin{lstlisting} In []: plot(x,sin(x)) \end{lstlisting} \typ{plot(x, y)}\\ plots \typ{x} and \typ{y} using default line style and color \end{frame} \begin{frame}[fragile] \frametitle{Adding Labels} \begin{lstlisting} In []: xlabel('x') \end{lstlisting} \typ{xlabel(s)} sets the label of the \typ{x}-axis to \typ{s} \begin{lstlisting} In []: ylabel('sin(x)') \end{lstlisting} \typ{ylabel(s)} sets the label of the \typ{y}-axis to \typ{s} \end{frame} \begin{frame}[fragile] \frametitle{Another example} \begin{lstlisting} In []: clf() In []: y = linspace(0, 2*pi, 51) In []: plot(y, -2*sin(-y)) In []: xlabel('y') In []: ylabel('-2sin(-y)') \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Title and Legends} \begin{lstlisting} In []: title('Sinusoids') #Sets the title of the figure In []: legend() # When plot made with label # plot(y, -2*sin(-y), label='sin') In []: legend(['sin']) # When no label, or to change \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Changing Legend Placement} \begin{lstlisting} In []: legend(['sin'], loc=5) #or In []: legend(['sin'], loc='right') #or In []: legend(['sin'], loc=(x,y)) #(x,y) is position of lower-left #corner of legend in the axes co-ords \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Changing Legend Placement} \vspace{-0.15in} \begin{lstlisting} Location String Code =============== ==== 'best' 0 'upper right' 1 'upper left' 2 'lower left' 3 'lower right' 4 'right' 5 'center left' 6 'center right' 7 'lower center' 8 'upper center' 9 'center' 10 \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Saving \& Closing} \begin{lstlisting} In []: savefig('sin.png') In []: close() \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Multiple Figures} \begin{lstlisting} In []: figure(1) In []: plot(x, sin(x)) In []: figure(2) In []: plot(x, cos(x)) In []: figure(1) In []: title('sin(x)')) \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Showing it better} \begin{lstlisting} In []: plot(y, sin(y), 'g') # plots the curve using green color In []: plot(y, sin(y), linewidth=2) # sets the linewidth to 2 \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Annotating} \begin{lstlisting} In []: annotate('Sample point', (50,200)) # Adds the note 'Sample point' at # the point (50, 200) \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Axes lengths} \begin{lstlisting} #Get the axes limits In []: xmin, xmax = xlim() In []: ymin, ymax = ylim() #Set the axes limits In []: xlim( xmin, xmax ) In []: ylim( ymin, ymax ) \end{lstlisting} \end{frame} \begin{frame}[fragile] \begin{center} End of Session-1\\ \alert{Don't Close \typ{IPython}} \end{center} \end{frame} \end{document}