Python - matplotlib
Revision as of 16:57, 5 September 2008 by PeterHarding (talk | contribs)
Examples
Makefile to Run Demos
#--------------------------------------------------------------------- GUI_TESTS = \ anim.png \ TESTS = \ anscombe.png \ alignment_test.png \ arctest.png \ axprops_demo.png \ barchart_demo.png \ bar_stacked.png \ box1.png \ dashticklabel.png \ dashpointlabel.png \ #--------------------------------------------------------------------- all: $(TESTS) test: arctest.png #--------------------------------------------------------------------- anim.png: python ./anim.py anscombe.png: python ./anscombe.py alignment_test.png: python ./alignment_test.py arctest.png: python ./arctest.py axprops_demo.png: python ./axes_props.py barchart_demo.png: python ./barchart_demo.py bar_stacked.png: python ./bar_stacked.py box1.png: python ./boxplot_demo.py dashpointlabel.png: python ./dashpointlabel.py dashticklabel.png: python ./dashtick.py #---------------------------------------------------------------------
AXES Demo
#!/usr/bin/env python from pylab import * # create some data to use for the plot dt = 0.001 t = arange(0.0, 10.0, dt) r = exp(-t[:1000]/0.05) # impulse response x = randn(len(t)) s = convolve(x,r)[:len(x)]*dt # colored noise # the main axes is subplot(111) by default plot(t, s) axis([0, 1, 1.1*amin(s), 2*amax(s) ]) xlabel('time (s)') ylabel('current (nA)') title('Gaussian colored noise') # this is an inset axes over the main axes a = axes([.65, .65, .2, .2], axisbg='y') n, bins, patches = hist(s, 400, normed=1) title('Probability') setp(a, xticks=[], yticks=[]) # this is another inset axes over the main axes a = axes([0.2, 0.65, .2, .2], axisbg='g') plot(t[:len(r)], r) title('Impulse response') setp(a, xlim=(0,.2), xticks=[], yticks=[]) #show() #savefig('../figures/axes_demo.eps') #savefig('../figures/axes_demo.png') savefig('axes_demo.png')
Produces:
arctest.py
#!/usr/bin/env python from pylab import * def f(t): 'a damped exponential' s1 = cos(2*pi*t) e1 = exp(-t) return multiply(s1,e1) t1 = arange(0.0, 5.0, .2) l = plot(t1, f(t1), 'ro') setp(l, 'markersize', 30) setp(l, 'markerfacecolor', 'b') # show() savefig('arctest', dpi=150)