John Hunter wrote:
> On Sun, Mar 23, 2008 at 3:54 AM, Amit Finkler <[EMAIL PROTECTED]> wrote:
>
>
>> I am using matplotlib to dynamically plot a graph with both my x and y
>> points taken from a measurement device. That is to say, in each iteration of
>> my while loop I'm reading two variables which I then want to plot with
>> matplotlib.
>>
>
> You will want to do something like (this is just a sketch)
>
> xdata = []
> ydata = []
>
> fig = figure()
> ax = fig.add_subplot(111)
> ax.set_xlabel('my xlabel')
> ax.set_ylabel('my ylabel')
> line, = ax.plot(xdata, ydata)
>
> def add_point(x, y):
> xdata.append(x)
> ydata.append(y)
> if len(xdata)>30: # optional, prune the early points
> del xdata[0]
> del ydata[0]
> xmin = xdata[0]
> xmax = xdata[-1]
> line.set_data(xdata, ydata)
> ax.set_xlim(xmin, xmax)
> fig.canvas.draw()
>
> while 1:
> x,y = get_data_point()
> add_point(x, y)
>
> JDH
>
John,
Thanks for getting back to me. Indeed this works, at least when I try it
line by line. When I inserted it into my module, it shot back some error
message which goes like this:
File
"/usr/lib/python2.4/site-packages/matplotlib/backends/backend_tkagg.py",
line 154, in draw
FigureCanvasAgg.draw(self)
File
"/usr/lib/python2.4/site-packages/matplotlib/backends/backend_agg.py",
line 392, in draw
self.figure.draw(renderer)
File "/usr/lib/python2.4/site-packages/matplotlib/figure.py", line
544, in draw
for a in self.axes: a.draw(renderer)
File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line
1004, in draw
try: self.transData.freeze() # eval the lazy objects
ValueError: Domain error on eval_scalars in Transformation::freeze
Since it did work on the console, i.e., line by line, I think it's only
a matter of resolving my own source code, unless of course you think
otherwise. By the way, isn't there a way to do the set_xlim/ylim
automatically? When I use only figure(), hold(False) and plot(X, Y), it
updates it automatically, so why doesn't it do it with the subplot?
Thanks for your help.
Amit.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users