-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Closed
Labels
Release criticalFor bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions.For bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions.
Milestone
Description
Bug report
Bug summary
With matplotlib
3.4.0, scatter plot with colormap and legend gives TypeError: object of type 'NoneType' has no len()
.
Code for reproduction
import matplotlib.pyplot as plt
y = [1, 2, 3, 4, 5]
plt.scatter(y, y, label='Y', lw=0, s=8, c=y, cmap='viridis')
plt.legend()
plt.show()
Actual outcome
Traceback (most recent call last):
File ".../matplotlib/backends/backend_qt5.py", line 475, in _draw_idle
self.draw()
File ".../matplotlib/backends/backend_agg.py", line 406, in draw
self.figure.draw(self.renderer)
File ".../matplotlib/artist.py", line 74, in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/artist.py", line 51, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/figure.py", line 2734, in draw
mimage._draw_list_compositing_images(
File ".../matplotlib/image.py", line 132, in _draw_list_compositing_images
a.draw(renderer)
File ".../matplotlib/artist.py", line 51, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/_api/deprecation.py", line 431, in wrapper
return func(*inner_args, **inner_kwargs)
File ".../matplotlib/axes/_base.py", line 2925, in draw
mimage._draw_list_compositing_images(renderer, self, artists)
File ".../matplotlib/image.py", line 132, in _draw_list_compositing_images
a.draw(renderer)
File ".../matplotlib/artist.py", line 51, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/legend.py", line 614, in draw
self._legend_box.draw(renderer)
File ".../matplotlib/offsetbox.py", line 368, in draw
c.draw(renderer)
File ".../matplotlib/offsetbox.py", line 368, in draw
c.draw(renderer)
File ".../matplotlib/offsetbox.py", line 368, in draw
c.draw(renderer)
[Previous line repeated 1 more time]
File ".../matplotlib/offsetbox.py", line 694, in draw
c.draw(renderer)
File ".../matplotlib/artist.py", line 51, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/collections.py", line 1009, in draw
super().draw(renderer)
File ".../matplotlib/artist.py", line 51, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/collections.py", line 380, in draw
len(facecolors) == 1 and len(edgecolors) == 1 and
TypeError: object of type 'NoneType' has no len()
Expected outcome
With matplotlib 3.3.4, I get this (no warning or error):
Matplotlib version
- Operating system: Red Hat Enterprise Linux Server release 7.9 (Maipo)
- Matplotlib version (
import matplotlib; print(matplotlib.__version__)
): 3.4.0 - Matplotlib backend (
print(matplotlib.get_backend())
): Qt5Agg - Python version: 3.8.3
- Jupyter version (if applicable): N/A
- Other libraries: Not sure what else you need, just let me know.
Metadata
Metadata
Assignees
Labels
Release criticalFor bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions.For bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions.