author | Nishanth <nishanth@fossee.in> |
Mon, 11 Oct 2010 13:42:52 +0530 | |
changeset 297 | bef342784a40 |
parent 261 | c7f0069d698a |
child 290 | 290f3e62dc44 |
permissions | -rw-r--r-- |
261
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
1 |
.. 2.5 LO: saving plots (2) |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
2 |
.. ------------------------- |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
3 |
.. * Outline |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
4 |
.. + basic savefig |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
5 |
.. + png, pdf, ps, eps, svg |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
6 |
.. + going to OS and looking at the file |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
7 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
8 |
======= |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
9 |
Savefig |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
10 |
======= |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
11 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
12 |
Hello and welcome to the tutorial. In this tutorial you will learn how |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
13 |
to save plots using Python. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
14 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
15 |
Start your IPython interpreter with the command :: |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
16 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
17 |
ipython -pylab |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
18 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
19 |
It will start your IPython interpreter with the required python |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
20 |
modules for plotting and saving your plots. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
21 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
22 |
{{{ Open ipython }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
23 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
24 |
Now let us plot something, let us plot a sine wave from minus 3 pi to |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
25 |
3 pi. Let us start by calculating the required points for the plot. It |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
26 |
can be done using linspace as, :: |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
27 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
28 |
x = linspace(-3*pi,3*pi,100) |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
29 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
30 |
We have stored required points in x. Now let us plot the points using |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
31 |
the statement :: |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
32 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
33 |
plot(x,sin(x)) |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
34 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
35 |
{{{ Keep the plot open }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
36 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
37 |
Done! we have made a very basic sine plot, now let us see how to save |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
38 |
the plot for future use so that you can embed the plot in your |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
39 |
reports. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
40 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
41 |
{{{ Switch the focus to IPython interpreter window }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
42 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
43 |
For saving the plot, we will use savefig function, and it has to be |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
44 |
done with the plot window open. The statement is, :: |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
45 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
46 |
savefig('/home/fossee/sine.png') |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
47 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
48 |
Notice that ``savefig`` function takes one argument which is a string |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
49 |
which is the filename. The last 3 characters after the ``.`` in the |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
50 |
filename is the extension or type of the file which determines the |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
51 |
format in which you want to save. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
52 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
53 |
{{{ Highlight the /home/fossee part using mouse movements }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
54 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
55 |
Also, note that we gave the full path or the absolute path to which we |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
56 |
want to save the file. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
57 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
58 |
{{{ Highlight the .png part using mouse movements }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
59 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
60 |
Here I have used an extension ``.png`` which means i want to save the |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
61 |
image as a PNG file. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
62 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
63 |
Now let us locate ``sine.png`` file saved. We saved the file to |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
64 |
``/home/fossee`` so let us navigate to ``/home/fossee`` using the |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
65 |
file browser. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
66 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
67 |
{{{ Open the browser, navigate to /home/fossee and highlight the file |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
68 |
sine.png }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
69 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
70 |
Yes, the file ``sine.png`` is here and let us check it. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
71 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
72 |
{{{ Open the file sine.png and show it for two-three seconds and then |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
73 |
close it and return to IPython interpreter, make sure the plot window |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
74 |
is still open, also don't close the file browser window }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
75 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
76 |
So in-order to save a plot, we use ``savefig`` function. ``savefig`` |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
77 |
can save the plot in many formats, such as pdf - portable document |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
78 |
format, ps - post script, eps - encapsulated post script, svg - |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
79 |
scalable vector graphics, png - portable network graphics which |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
80 |
support transparency etc. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
81 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
82 |
.. #[[slide must give the extensions for the files - Anoop]] |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
83 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
84 |
Let us now try to save the plot in eps format. ``eps`` stands for |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
85 |
encapsulated post script, and it can be embedded in your latex |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
86 |
documents. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
87 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
88 |
{{{ Switch focus to the already open plot window }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
89 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
90 |
We still have the sine plot with us, and now let us save the plot as |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
91 |
``sine.eps``. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
92 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
93 |
{{{ Switch focus to IPython interpreter }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
94 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
95 |
Now, We will save the plot using the function ``savefig`` :: |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
96 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
97 |
savefig('/home/fossee/sine.eps') |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
98 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
99 |
{{{ Switch focus to file browser window }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
100 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
101 |
Now let us go to ``/home/fossee`` and see the new file created. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
102 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
103 |
{{{ Highlight the file sine.eps with a single mouse click for 2 |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
104 |
seconds and then double click and open the file }}} |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
105 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
106 |
Yes! the new file ``sine.eps`` is here. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
107 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
108 |
Now you may try saving the same in pdf, ps, svg formats. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
109 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
110 |
Let us review what we have learned in this session! We have learned to |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
111 |
save plots in different formats using the function ``savefig()``. |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
112 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
113 |
Thank you! |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
114 |
|
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
115 |
.. Author: Anoop Jacob Thomas <anoop@fossee.in> |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
116 |
Reviewer 1: |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
117 |
Reviewer 2: |
c7f0069d698a
added base scripts and questions except for matrices and other-type-of-plots. previous commit only removed unwanted files.
anoop
parents:
diff
changeset
|
118 |
External reviewer: |