diff --git a/lib/matplotlib/category.py b/lib/matplotlib/category.py index 55af459fd575..9013460311cc 100644 --- a/lib/matplotlib/category.py +++ b/lib/matplotlib/category.py @@ -138,7 +138,12 @@ def __init__(self, units_mapping): self._units = units_mapping def __call__(self, x, pos=None): - return '' if pos is None else self.format_ticks([x])[0] + """ + Return the category label string for tick val *x*. + + The position *pos* is ignored. + """ + return self.format_ticks([x])[0] def format_ticks(self, values): r_mapping = {v: self._text(k) for k, v in self._units.items()} diff --git a/lib/matplotlib/tests/test_category.py b/lib/matplotlib/tests/test_category.py index 609c7a966cd9..d7c8df8e21b5 100644 --- a/lib/matplotlib/tests/test_category.py +++ b/lib/matplotlib/tests/test_category.py @@ -154,15 +154,15 @@ def test_StrCategoryFormatter(self, ax, ydata): labels = cat.StrCategoryFormatter(unit._mapping) for i, d in enumerate(ydata): assert labels(i, i) == d + assert labels(i, None) == d @pytest.mark.parametrize("ydata", cases, ids=ids) @pytest.mark.parametrize("plotter", PLOT_LIST, ids=PLOT_IDS) def test_StrCategoryFormatterPlot(self, ax, ydata, plotter): plotter(ax, range(len(ydata)), ydata) for i, d in enumerate(ydata): - assert ax.yaxis.major.formatter(i, i) == d - assert ax.yaxis.major.formatter(i+1, i+1) == "" - assert ax.yaxis.major.formatter(0, None) == "" + assert ax.yaxis.major.formatter(i) == d + assert ax.yaxis.major.formatter(i+1) == "" def axis_test(axis, labels):