Python - matplotlib
Revision as of 14:13, 12 September 2008 by PeterHarding (talk | contribs)
Examples
Makefile to Run Demos
#--------------------------------------------------------------------- GUI_TESTS = \ anim.png \ PNG = \ anscombe.png \ alignment_test.png \ arctest.png \ axprops_demo.png \ barchart_demo.png \ bar_stacked.png \ box1.png \ dashticklabel.png \ dashpointlabel.png \ date_demo_rrule.png \ legend_scatter.png \ polar_scatter.png \ step_demo.png \ text_handles.png \ to_numeric.png \ transoffset.png \ two_scales.png \ stock_demo.png \ vertical_ticklabels.png \ zorder_demo.png \ TESTS = \ anscombe.py \ alignment_test.py \ arctest.py \ axes_props.py \ barchart_demo.py \ bar_stacked.py \ boxplot_demo.py \ dashtick.py \ dashpointlabel.py \ date_demo_rrule.py \ legend_scatter.py \ polar_scatter.py \ step_demo.py \ text_handles.py \ to_numeric.py \ transoffset.py \ two_scales.py \ stock_demo.py \ vertical_ticklabels.py \ zorder_demo.py \ #--------------------------------------------------------------------- all: $(PNG) test: arctest.png dist: tar cvfz matplot_demos.tz Makefile $(TESTS) $(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 date_demo_rrule.png: python ./date_demo_rrule.py polar_scatter.png: -python ./polar_scatter.py step_demo.png: -python ./step_demo.py text_handles.png: -python ./text_handles.py to_numeric.png: -python ./to_numeric.py transoffset.png: python ./transoffset.py two_scales.png: python ./two_scales.py legend_scatter.png: python ./legend_scatter.py stock_demo.png: python ./stock_demo.py vertical_ticklabels.png: python ./vertical_ticklabels.py zorder_demo.png: python ./zorder_demo.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)