Plot a function with matplotlib?

Steven D'Aprano steve+comp.lang.python at pearwood.info
Fri May 18 21:59:59 EDT 2012


I have matplotlib and iPython, and want to plot a function over an 
equally-spaced range of points.

That is to say, I want to say something like this:

plot(func, start, end)

rather than generating the X and Y values by hand, and plotting a scatter 
graph. All the examples I've seen look something like this:

from pylab import *
import numpy as np
t = arange(0.0, 2.0+0.01, 0.01)  # generate x-values
s = sin(t*pi)  # and y-values
plot(t, s)
show()


which is fine for what it is, but I'm looking for an interface closer to 
what my HP graphing calculator would use, i.e. something like this:


plot(lambda x: sin(x*pi), # function or expression to plot,
     start=0.0,
     end=2.0,
    )

and have step size taken either from some default, or better still, 
automatically calculated so one point is calculated per pixel.

Is there a way to do this in iPython or matplotlib?


-- 
Steven



More information about the Python-list mailing list