Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Closed
Labels
Milestone
Description
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
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