S
Steven D'Aprano
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?
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?