Graphics with Python: Difference between revisions
Line 25: | Line 25: | ||
The [http://matplotlib.org/users/index.html matplotlib user's guide] offers a tutorial with many [http://matplotlib.org/examples/index.html examples], some of which we will look at here. There is also a helpful [http://bespokeblog.wordpress.com/2011/07/05/basic-data-plotting-with-matplotlib-part-1-introduction/ quick start guide] written | The [http://matplotlib.org/users/index.html matplotlib user's guide] offers a tutorial with many [http://matplotlib.org/examples/index.html examples], some of which we will look at here. There is also a helpful but unfinished [http://bespokeblog.wordpress.com/2011/07/05/basic-data-plotting-with-matplotlib-part-1-introduction/ quick start guide] written by an astrophysics graduate student. | ||
Let's look at a simple program that generates its own data and creates a plot you can view on the screen: | |||
import matplotlib.pyplot as plt | |||
import math | |||
f0 = 30. | |||
a0 = 100. | |||
tdecay = 2. | |||
time = [] | |||
amplitude = [] | |||
for i in range(0, 10000, 1): | |||
t = 0.001 * float(i) | |||
a = a0 * math.exp(-t/tdecay)*math.cos(2. * math.pi * f0 * t) | |||
time.append(t) | |||
amplitude.append(a) | |||
plt.plot(time, amplitude) | |||
plt.xlabel('Angle') | |||
plt.ylabel('Value') | |||
plt.title('A Damped Oscillator') | |||
plt.show() |
Revision as of 21:22, 18 February 2013
The Python matplotlib module provides tools for interactive 2-D and 3-D graphics, and for saving plots in file formats you can easily display on the web or in other programs, print, and incorporate in documents.
Installation of matplotlib
The current version 1.2 may be included in some Linux distributions. Version 1.1 has most of the features you will need now, and it is in Ubuntu and OpenSuse packages that can be added to your core Python system after you also install numpy. For example, under Ubuntu you would use
sudo apt-get install python-matplotlib
to get the most recent version available for your system and resolve missing components.
For Windows and MacOS users, if you installed the Enthought version of Python you will have it "out of the box". For others, look at the matplotlib installation website for directions on how to install it. You will need numpy too, and it also comes in the Enthought collection.
Once you have it installed, programs that use this library will have to import it with lines such as
import numpy as np import matplotlib as plt
to make the functions available. With these, numpy functions will start with np. and mathplotlib functions will have plt. in front of the function name, which shortens the code you would write. You can check that your computer has numpy and matplotlib by trying these commands in interactive Python or Idle. The version numbers will be available too with
print np.__version__ print plt.__version__
Learning the basics of 2D data and function plotting
The matplotlib user's guide offers a tutorial with many examples, some of which we will look at here. There is also a helpful but unfinished quick start guide written by an astrophysics graduate student.
Let's look at a simple program that generates its own data and creates a plot you can view on the screen:
import matplotlib.pyplot as plt import math
f0 = 30. a0 = 100. tdecay = 2.
time = [] amplitude = []
for i in range(0, 10000, 1): t = 0.001 * float(i) a = a0 * math.exp(-t/tdecay)*math.cos(2. * math.pi * f0 * t) time.append(t) amplitude.append(a)
plt.plot(time, amplitude) plt.xlabel('Angle') plt.ylabel('Value') plt.title('A Damped Oscillator')
plt.show()