OK - it turns out I can reproduce it in a simple ipython session using ipython
--pylab=qt.
I set up an image plot as follows:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.image import NonUniformImage
x=y=np.linspace(0,2*np.pi,101)
X,Y=np.meshgrid(x,y)
z=sin(X)*sin(Y)
ax=plt.gca()
extent = (x[0],x[-1],y[0],y[-1])
im = NonUniformImage(ax, extent=extent, origin=None)
im.set_data(x,y,z)
ax.images.append(im)
ax.set_xlim(x[0],x[-1])
ax.set_ylim(y[0],y[-1])
plt.colorbar(im)
plt.gcf().canvas.draw()
After that, I try to change the color scale using:
im.set_clim(0,0.5)
plt.gcf().canvas.draw()
The colorbar changes scale, but the plot is untouched. Is that the expected
behavior?
Thanks,
Ray
On Feb 17, 2012, at 9:05 PM, Benjamin Root wrote:
>
>
> On Friday, February 17, 2012, Ray Osborn wrote:
> I am embedding a matplotlib canvas in a Pyside GUI and wanted to attach a
> slider to adjust the color scale of a 2D plot made using NonUnitformImage. I
> am connecting the slider value to im.set_clim([vmin,vmax]). I have got my
> axis sliders to work, but the intensity slider only adjusts the colorbar
> without touching the image itself. Is there some trick to making this work
> with NonUniformImage?
>
> My plotting routine has the following code:
>
> ax = plt.gca()
> im = NonUniformImage(ax, extent=extent, origin=None, **opts)
> im.set_data(x,y,z)
> ax.images.append(im)
> self.imgplot = im
> plt.colorbar(im)
>
> while the Pyside slot has:
>
> zhi = self.zmin + (self.ztab.maxslider.value() * range / 100)
> im = self.imgplot
> im.set_clim([zlo,zhi])
>
> The slider dynamically adjusts the colorbar beautifully, but leaves the color
> plot untouched. Any suggestions welcome.
>
> Thanks in advance,
> Ray
>
> Without a more complete example, it is hard to say. Can you make a small
> stand-alone example that we can try out?
>
> Ben Root
>
--
Ray Osborn
Materials Science Division
Argonne National Laboratory
Argonne, IL 60439, USA
Phone: +1 (630) 252-9011
Email: rosb...@anl.gov
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users