Hi everyone,
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.
I wrote something which
goes like this (disregard the Gnuplot - that’s what I’m trying to
replace with matplotlib…)
import gpib,
Numeric, time, Gnuplot, mymodule, threading
from pylab import *
def
cooldown(filename, dmm_gpib, lake_gpib):
“”“this program
scans dummy and reads HP and Lakeshore”“”
A = Numeric.arange(-1, 1, .1)
delay = 1
f = open(filename,'w')
X =
Y =
figure(2)
hold(False)
try:
while A[0]<10:
gpib.write(lake_fd, ‘SDAT?’)
gpib.write(hp_fd, 'read?') time.sleep(delay) val1 = float(gpib.read(lake_fd, 30)) val2 = float(gpib.read(hp_fd, 30)) X.append(val1) Y.append(val2) plot(X,Y,'.-') f.write(str(val1) + '\t' + str(val2) + '\n') f.flush()
I’m running this code in ipython with the -pylab option, so I don’t
need to use show(). My question is, how do I maintain a constant
xlabel and ylabel without having to redraw them each time I append a
point to the graph? If I try xlabel(‘something’) then obviously it’s
cleared each time I use plot(X,Y).
Any ideas?
Thanks,
Amit.