Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Description
Problem
Trying to useimshow
with unit-ful data and setting vmin/vmax with units fails. It would be great if this was possible!
importmatplotlib.pyplotaspltimportnumpyasnpimportpintureg=pint.UnitRegistry()ureg.setup_matplotlib()X,Y=np.meshgrid(np.linspace(-3,3,16),np.linspace(-3,3,16))Z= (1-X/2+X**5+Y**3)*np.exp(-X**2-Y**2)Z*=ureg.kgfig,ax=plt.subplots()ax.imshow(Z,vmin=1*ureg.kg,vmax=2*ureg.kg)plt.show()
%pythontest.py/Users/dstansby/github/matplotlib/lib/matplotlib/cbook.py:672:UnitStrippedWarning:Theunitofthequantityisstrippedwhendowncastingtondarray.x=np.array(x,subok=True,copy=copy)/Users/dstansby/github/matplotlib/lib/matplotlib/image.py:452:UnitStrippedWarning:Theunitofthequantityisstrippedwhendowncastingtondarray.dv=np.float64(self.norm.vmax)-np.float64(self.norm.vmin)/Users/dstansby/github/matplotlib/lib/matplotlib/image.py:453:UnitStrippedWarning:Theunitofthequantityisstrippedwhendowncastingtondarray.vmid=np.float64(self.norm.vmin)+dv/2/Users/dstansby/github/matplotlib/lib/matplotlib/image.py:482:UnitStrippedWarning:Theunitofthequantityisstrippedwhendowncastingtondarray.vrange=np.array([vmin,vmax],dtype=scaled_dtype)Traceback (mostrecentcalllast):File"/Users/dstansby/mambaforge/envs/mpl/lib/python3.10/site-packages/pint/facets/plain/quantity.py",line707,in__float__raiseDimensionalityError(self._units,"dimensionless")pint.errors.DimensionalityError:Cannotconvertfrom'kilogram'to'dimensionless'Theaboveexceptionwasthedirectcauseofthefollowingexception:Traceback (mostrecentcalllast):File"/Users/dstansby/github/matplotlib/lib/matplotlib/backend_bases.py",line1223,in_on_timerret=func(*args,**kwargs)File"/Users/dstansby/github/matplotlib/lib/matplotlib/backends/backend_macosx.py",line68,incallback_funccallback()File"/Users/dstansby/github/matplotlib/lib/matplotlib/backends/backend_macosx.py",line88,in_draw_idleself.draw()File"/Users/dstansby/github/matplotlib/lib/matplotlib/backends/backend_macosx.py",line50,indrawsuper().draw()File"/Users/dstansby/github/matplotlib/lib/matplotlib/backends/backend_agg.py",line400,indrawself.figure.draw(self.renderer)File"/Users/dstansby/github/matplotlib/lib/matplotlib/artist.py",line95,indraw_wrapperresult=draw(artist,renderer,*args,**kwargs)File"/Users/dstansby/github/matplotlib/lib/matplotlib/artist.py",line72,indraw_wrapperreturndraw(artist,renderer)File"/Users/dstansby/github/matplotlib/lib/matplotlib/figure.py",line3116,indrawmimage._draw_list_compositing_images(File"/Users/dstansby/github/matplotlib/lib/matplotlib/image.py",line131,in_draw_list_compositing_imagesa.draw(renderer)File"/Users/dstansby/github/matplotlib/lib/matplotlib/artist.py",line72,indraw_wrapperreturndraw(artist,renderer)File"/Users/dstansby/github/matplotlib/lib/matplotlib/axes/_base.py",line3066,indrawmimage._draw_list_compositing_images(File"/Users/dstansby/github/matplotlib/lib/matplotlib/image.py",line131,in_draw_list_compositing_imagesa.draw(renderer)File"/Users/dstansby/github/matplotlib/lib/matplotlib/artist.py",line72,indraw_wrapperreturndraw(artist,renderer)File"/Users/dstansby/github/matplotlib/lib/matplotlib/image.py",line641,indrawim,l,b,trans=self.make_image(File"/Users/dstansby/github/matplotlib/lib/matplotlib/image.py",line948,inmake_imagereturnself._make_image(self._A,bbox,transformed_bbox,clip,File"/Users/dstansby/github/matplotlib/lib/matplotlib/image.py",line482,in_make_imagevrange=np.array([vmin,vmax],dtype=scaled_dtype)ValueError:settinganarrayelementwithasequence.
Proposed solution
No response