You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If one makes a scatter plot (or a line graph) having multiple points with different markers and colors, but the same label, this will result in an error in version 2.1.1 (but not 2.1.0). A small example is provided below:
This example uses a scatter plot, but the same issue can arise with line plots if one uses a numpy vector as a color (e.g., [0.0, 1.0, 0.0, 1.0]). The error produced for the above example is as follows:
Traceback (most recent call last):
File "foo.py", line 11, in <module>
plt.legend()
File "/home/ryan/.local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 3748, in legend
ret = gca().legend(*args, **kwargs)
File "/home/ryan/.local/lib/python2.7/site-packages/matplotlib/axes/_axes.py", line 498, in legend
**kwargs)
File "/home/ryan/.local/lib/python2.7/site-packages/matplotlib/legend.py", line 1402, in _parse_legend_args
handles, labels = _get_legend_handles_labels(axs, handlers)
File "/home/ryan/.local/lib/python2.7/site-packages/matplotlib/legend.py", line 1360, in _get_legend_handles_labels
and not _in_handles(handle, label)):
File "/home/ryan/.local/lib/python2.7/site-packages/matplotlib/legend.py", line 1344, in _in_handles
if f_h.get_facecolor() != h.get_facecolor():
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
At the end of the day, this ends up being because the face (and edge) colors are converted to a numpy vector, which can't be compared with != since they have multiple elements. With the help of git bisect, I've tracked this down to this commit at the end of October.
Now I'll grant that this only happens if people use the same label for multiple symbols/lines, which is a bad idea...but one can't always prevent end users from doing that.
The text was updated successfully, but these errors were encountered:
Bug report
If one makes a scatter plot (or a line graph) having multiple points with different markers and colors, but the same label, this will result in an error in version 2.1.1 (but not 2.1.0). A small example is provided below:
Code for reproduction
Actual outcome
This example uses a scatter plot, but the same issue can arise with line plots if one uses a numpy vector as a color (e.g.,
[0.0, 1.0, 0.0, 1.0]
). The error produced for the above example is as follows:At the end of the day, this ends up being because the face (and edge) colors are converted to a numpy vector, which can't be compared with
!=
since they have multiple elements. With the help ofgit bisect
, I've tracked this down to this commit at the end of October.Now I'll grant that this only happens if people use the same label for multiple symbols/lines, which is a bad idea...but one can't always prevent end users from doing that.
The text was updated successfully, but these errors were encountered: