hi guys,
my problem is probably simple, but i wasn't able to solve it. i use
matplotlib with scipy/numpy (i.e., via pylab). in my program, i'd like
to display interactively the convergence of a mathematical procedure. in
my case this means that i have to display graphs of cca 12 functions
(some thousands samples each).
everything works, but one thing annoys me. i have 4 subplots, each
containing 3 of the functions. at the moment, i have something like
ion()
plotlist = []
pylab.subplot(2,2,1)
for a in range(4):
subplot(2,2,a)
for x in range(3):
plotlist.append(pylab.plot(function[x])[0])
plotlist[-1].set_label("text_x")
pylab.xlim((p_xmin, p_xmax))
pylab.ylim((-1,10))
pylab.legend()
this leads to stepwise display of all 12 functions which is VERY slow.
maybe it also is caused by the fact that the whole function is plotted
in the beginning and only after that it's 'zoomed' to the xmin-xmax
interval.
later in the program, i just do
plotlist[index].set_ydata(new_function)
for all graphs and
draw()
which goes faster, as it seems...
is it possible to change the initial part in order to make it faster,
e.g., by means of switching between noninteractive and interactive part?
i tried switching to ioff() and using draw() there, but nothing gets
displayed then.
and one more small thing - if i do
pylab.title('some string')
pylab.draw()
at the very beginning, it doesn't get displayed. if i do it after some
of the subplot definitions, it gets displayed together with this subplot
- but that's not what i want. why is the first definition ignored?
i'd be really grateful for any hints. am i doing anything wrong?
best,
lubos
···
--
Lubos _@...2056..."
http://www.lubos.vrbka.net