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

plt.bar with nan input fails rendering in notebook using 3.3.0rc1 #17868

Closed
Labels
Milestone
@MaozGelbart

Description

@MaozGelbart

Bug report

Bug summary

A previously-working code (that gets to plot well using other backends ormatplotlib==3.2.2) fails to render a plot on Jupyter notebook when usingmatplotlib==3.3.0rc1. This has to do withnp.nan input toplt.bar.

Code for reproduction

importmatplotlib.pyplotaspltimportmatplotlibasmplimportnumpyasnp%matplotlibinlinex=range(2)heights=np.asarray([np.nan,4])plt.bar(x,heights)

Actual outcome

<BarContainer object of 2 artists>---------------------------------------------------------------------------ValueError                                Traceback (most recent call last)~/.local/lib/python3.8/site-packages/IPython/core/formatters.py in __call__(self, obj)    339                 pass    340             else:--> 341                 return printer(obj)    342             # Finally look for special method names    343             method = get_real_method(obj, self.print_method)~/.local/lib/python3.8/site-packages/IPython/core/pylabtools.py in <lambda>(fig)    246     247     if 'png' in formats:--> 248         png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))    249     if 'retina' in formats or 'png2x' in formats:    250         png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))~/.local/lib/python3.8/site-packages/IPython/core/pylabtools.py in print_figure(fig, fmt, bbox_inches, **kwargs)    130         FigureCanvasBase(fig)    131 --> 132     fig.canvas.print_figure(bytes_io, **kw)    133     data = bytes_io.getvalue()    134     if fmt == 'svg':~/miniconda/envs/seaborn_devenv/lib/python3.8/site-packages/matplotlib/backend_bases.py in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)   2186                         self.figure.draw(renderer)   2187 -> 2188                     bbox_inches = self.figure.get_tightbbox(   2189                         renderer, bbox_extra_artists=bbox_extra_artists)   2190                     if pad_inches is None:~/miniconda/envs/seaborn_devenv/lib/python3.8/site-packages/matplotlib/figure.py in get_tightbbox(self, renderer, bbox_extra_artists)   2500    2501         for a in artists:-> 2502             bbox = a.get_tightbbox(renderer)   2503             if bbox is not None and (bbox.width != 0 or bbox.height != 0):   2504                 bb.append(bbox)~/miniconda/envs/seaborn_devenv/lib/python3.8/site-packages/matplotlib/artist.py in get_tightbbox(self, renderer)    276             The enclosing bounding box (in figure pixel coordinates).    277         """--> 278         bbox = self.get_window_extent(renderer)    279         if self.get_clip_on():    280             clip_box = self.get_clip_box()~/miniconda/envs/seaborn_devenv/lib/python3.8/site-packages/matplotlib/patches.py in get_window_extent(self, renderer)    596     597     def get_window_extent(self, renderer=None):--> 598         return self.get_path().get_extents(self.get_transform())    599     600     def _convert_xy_units(self, xy):~/miniconda/envs/seaborn_devenv/lib/python3.8/site-packages/matplotlib/path.py in get_extents(self, transform, **kwargs)    590             self = transform.transform_path(self)    591         bbox = Bbox.null()--> 592         for curve, code in self.iter_bezier(**kwargs):    593             # places where the derivative is zero can be extrema    594             _, dzeros = curve.axis_aligned_extrema()~/miniconda/envs/seaborn_devenv/lib/python3.8/site-packages/matplotlib/path.py in iter_bezier(self, **kwargs)    442             if first_vert is None:    443                 if code != Path.MOVETO:--> 444                     raise ValueError("Malformed path, must start with MOVETO.")    445             if code == Path.MOVETO:  # a point is like "CURVE1"    446                 first_vert = vertsValueError: Malformed path, must start with MOVETO.<Figure size 432x288 with 1 Axes>

Expected outcome

3.2.2:
Screen Shot 2020-07-09 at 16 15 04

Matplotlib version

  • Operating system: macOS
  • Matplotlib version: 3.3.0rc1
  • Matplotlib backend (print(matplotlib.get_backend())): 'module://ipykernel.pylab.backend_inline'
  • Python version: 3.8.3
  • Jupyter version (if applicable): notebook 6.0.3, IPython 7.15.0
  • Other libraries:

matplotlib installed using pip
python installed from conda-forge

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp