|
From: Stan W. <sta...@nr...> - 2012-08-09 14:02:32
|
From: Mark Bakker [mailto:ma...@gm...]
Sent: Tuesday, August 07, 2012 06:42
I tried a few things and found out that doing a pause works.
So why does a pause work, but a draw() or show() does not?
This all on Windows using the standard PythonXY installation.
Here is the code that works (testimage.py):
from pylab import *
c = ones((10,20))
ax = imshow(c)
pause(0.01)
print ax.get_axes().get_position()
Running from IPython:
run testimage
Bbox(array([[ 0.125 , 0.24166667],
[ 0.9 , 0.75833333]]))
I modified your script to test show(), draw(), and pause(); it's attached. For
the WXAgg matplotlib backend, I get:
In [1]: print(matplotlib.get_backend())
WXAgg
In [2]: %run testimage
show: Bbox(array([[ 0.125, 0.1 ],
[ 0.9 , 0.9 ]]))
draw: Bbox(array([[ 0.125 , 0.24166667],
[ 0.9 , 0.75833333]]))
pause: Bbox(array([[ 0.125 , 0.24166667],
[ 0.9 , 0.75833333]]))
but for the Qt4Agg backend, I get:
In [1]: print(matplotlib.get_backend())
Qt4Agg
In [2]: %run testimage
show: Bbox(array([[ 0.125, 0.1 ],
[ 0.9 , 0.9 ]]))
draw: Bbox(array([[ 0.125, 0.1 ],
[ 0.9 , 0.9 ]]))
pause: Bbox(array([[ 0.125 , 0.24166667],
[ 0.9 , 0.75833333]]))
Which backend have you been using?
|