Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

UserWarning thrown when all values are "bad", but not when only some are #18294

Closed
Milestone
@ivirshup

Description

@ivirshup

Bug report

Bug summary

If all values passed as colors are "bad" (np.nan), a warning is thrown from numpy about converting masked values to null. If some of the values are "bad", this does not happen.

Code for reproduction

importnumpyasnp,matplotlib.pyplotasplt

This does not warn:

c=np.full(10,np.nan)c[0]=1.plt.scatter(np.ones(10),np.ones(10),c=c)plt.show()

This does:

plt.scatter(np.ones(10),np.ones(10),c=np.full(10,np.nan))plt.show()
<__array_function__ internals>:5: UserWarning: Warning: converting a masked element to nan./usr/local/lib/python3.8/site-packages/numpy/core/_asarray.py:85: UserWarning: Warning: converting a masked element to nan.  return array(a, dtype, copy=False, order=order)

This is difficult to hide since since the warning is not thrown when the figure is being constructed, but when it is shown. Here's a full traceback to show this:

Full traceback
  File"<stdin>", line1, in<module>  File"/usr/local/lib/python3.8/site-packages/matplotlib/pyplot.py", line337, inshowreturn _backend_mod.show(*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/backend_bases.py", line3544, inshowcls.mainloop()  File"/usr/local/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line171, inmainloop    _macosx.show()  File"/usr/local/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line61, in_drawself.figure.draw(renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/figure.py", line1863, indraw    mimage._draw_list_compositing_images(  File"/usr/local/lib/python3.8/site-packages/matplotlib/image.py", line131, in_draw_list_compositing_images    a.draw(renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/cbook/deprecation.py", line411, inwrapperreturn func(*inner_args,**inner_kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/axes/_base.py", line2748, indraw    mimage._draw_list_compositing_images(renderer,self, artists)  File"/usr/local/lib/python3.8/site-packages/matplotlib/image.py", line131, in_draw_list_compositing_images    a.draw(renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/collections.py", line931, indraw    Collection.draw(self, renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/collections.py", line346, indrawself.update_scalarmappable()  File"/usr/local/lib/python3.8/site-packages/matplotlib/collections.py", line855, inupdate_scalarmappableself._facecolors=self.to_rgba(self._A,self._alpha)  File"/usr/local/lib/python3.8/site-packages/matplotlib/cm.py", line332, into_rgba    x=self.norm(x)  File"/usr/local/lib/python3.8/site-packages/matplotlib/colors.py", line1048, in__call__    (vmin,), _=self.process_value(self.vmin)  File"/usr/local/lib/python3.8/site-packages/matplotlib/colors.py", line1012, inprocess_value    dtype= np.min_scalar_type(value)  File"<__array_function__ internals>", line5, inmin_scalar_type  File"/usr/local/lib/python3.8/site-packages/numpy/ma/core.py", line4331, in__float__    warnings.warn("Warning: converting a masked element to nan.",stacklevel=2)  File"/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/warnings.py", line109, in_showwarnmsg    sw(msg.message, msg.category, msg.filename, msg.lineno,  File"<stdin>", line3, inwarn_with_traceback<__array_function__ internals>:5: UserWarning: Warning: converting a masked element to nan.  File"<stdin>", line1, in<module>  File"/usr/local/lib/python3.8/site-packages/matplotlib/pyplot.py", line337, inshowreturn _backend_mod.show(*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/backend_bases.py", line3544, inshowcls.mainloop()  File"/usr/local/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line171, inmainloop    _macosx.show()  File"/usr/local/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line61, in_drawself.figure.draw(renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/figure.py", line1863, indraw    mimage._draw_list_compositing_images(  File"/usr/local/lib/python3.8/site-packages/matplotlib/image.py", line131, in_draw_list_compositing_images    a.draw(renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/cbook/deprecation.py", line411, inwrapperreturn func(*inner_args,**inner_kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/axes/_base.py", line2748, indraw    mimage._draw_list_compositing_images(renderer,self, artists)  File"/usr/local/lib/python3.8/site-packages/matplotlib/image.py", line131, in_draw_list_compositing_images    a.draw(renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/collections.py", line931, indraw    Collection.draw(self, renderer)  File"/usr/local/lib/python3.8/site-packages/matplotlib/artist.py", line41, indraw_wrapperreturn draw(artist, renderer,*args,**kwargs)  File"/usr/local/lib/python3.8/site-packages/matplotlib/collections.py", line346, indrawself.update_scalarmappable()  File"/usr/local/lib/python3.8/site-packages/matplotlib/collections.py", line855, inupdate_scalarmappableself._facecolors=self.to_rgba(self._A,self._alpha)  File"/usr/local/lib/python3.8/site-packages/matplotlib/cm.py", line332, into_rgba    x=self.norm(x)  File"/usr/local/lib/python3.8/site-packages/matplotlib/colors.py", line1048, in__call__    (vmin,), _=self.process_value(self.vmin)  File"/usr/local/lib/python3.8/site-packages/matplotlib/colors.py", line1019, inprocess_value    data= np.asarray(value)  File"/usr/local/lib/python3.8/site-packages/numpy/core/_asarray.py", line85, inasarrayreturn array(a, dtype,copy=False,order=order)  File"/usr/local/lib/python3.8/site-packages/numpy/ma/core.py", line4331, in__float__    warnings.warn("Warning: converting a masked element to nan.",stacklevel=2)  File"/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/warnings.py", line109, in_showwarnmsg    sw(msg.message, msg.category, msg.filename, msg.lineno,  File"<stdin>", line3, inwarn_with_traceback/usr/local/lib/python3.8/site-packages/numpy/core/_asarray.py:85: UserWarning: Warning: converting a masked element to nan.  return array(a, dtype, copy=False, order=order)

Expected outcome

I wouldn't expect the second to warn if the first doesn't.

Matplotlib version

  • Operating system: macOS
  • Matplotlib version: 3.3.1
  • Matplotlib backend (print(matplotlib.get_backend())): MacOSX and module://ipykernel.pylab.backend_inline
  • Python version: 3.8.5
  • Jupyter version (if applicable): Replicates in python repl, but also was happening in ipython and jupyter lab
  • Other libraries:

Installed with pip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp