Python - matplotlib

From PeformIQ Upgrade
Revision as of 16:51, 5 September 2008 by PeterHarding (talk | contribs)
Jump to navigation Jump to search

Examples

Makefile to Run Demos

#---------------------------------------------------------------------

GUI_TESTS = \
   anim.png \

TESTS   = \
   anscombe.png \
   arctest.png \
   axprops_demo.png \
   barchart_demo.png \
   bar_stacked.png \
   boxplot_demo.png \
   dashticklabel.png \
   dashpointlabel.png \

#---------------------------------------------------------------------

all:  $(TESTS)

test: arctest.png

#---------------------------------------------------------------------

anim.png:
   python ./anim.py

anscombe.png:
   python ./anscombe.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

boxplot_demo.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:

Axes demo.png

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)

Produces Arctest.png