Skip to content

Subsequent calls to plt.scatter with different categories raise ValueError #9700

Closed

Description

@Bernhard10

Bug report

Plotting with string categorical data fails, if the second call to plt.scatter contains categories not present in the first call to plt.scatter
Code for reproduction

import matplotlib.pyplot as plt
plt.scatter(["a", "b"], [0,2])
plt.scatter(["a","c"], [1,4])

Actual outcome

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "xxx/python3.6/site-packages/matplotlib/pyplot.py", line 3357, in scatter
    edgecolors=edgecolors, data=data, **kwargs)
  File "xxx/python3.6/site-packages/matplotlib/__init__.py", line 1710, in inner
    return func(ax, *args, **kwargs)
  File "xxx/python3.6/site-packages/matplotlib/axes/_axes.py", line 4010, in scatter
    x = self.convert_xunits(x)
  File "xxx/python3.6/site-packages/matplotlib/artist.py", line 191, in convert_xunits
    return ax.xaxis.convert_units(x)
  File "xxx/python3.6/site-packages/matplotlib/axis.py", line 1491, in convert_units
    ret = self.converter.convert(x, self.units, self)
  File "xxx/python3.6/site-packages/matplotlib/category.py", line 53, in convert
    return vals.astype('float')
ValueError: could not convert string to float: 'c'

Expected outcome

figure_1

Figure generated using

plt.plot(["a", "b"], [0,2], "o")
plt.plot(["a", "c"], [1,4], "o")

Using different categories for subsequent calls to plt.plot works as expected.

Matplotlib version

  • Operating system: Fedora
  • Matplotlib version: 2.1.0 (installed the manylinux binary wheel via pip)
  • Matplotlib backend: TkAgg
  • Python version: 3.6.2

Activity

  1. added this to the v2.1.1 milestone on Nov 6, 2017
  2. jklymak commented on Nov 6, 2017

    @jklymak
    Member

    @dstansby aren't categoricals new? If this isn't a reversion, maybe this could be 2.2?

  3. dstansby commented on Nov 6, 2017

    @dstansby
    Member

    Yes, but this code definitely shouldn't error(!) which is why I've put it on 2.1.1

  4. self-assigned this
    on Nov 6, 2017
  5. jklymak commented on Nov 6, 2017

    @jklymak
    Member

    This is a duplicate of #9494, so I'll close this in lieu of the older Issue. Note PR #9705 seems to fix both. Thanks for the bug report; this one made it easier to see what was wrong with #9494 (for me)!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions