Skip to content

Commit 64a65fc

Browse files
committed
FIX: changed to AttributeError
1 parent b1e4443 commit 64a65fc

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

lib/matplotlib/axis.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,9 +1568,9 @@ def set_major_formatter(self, formatter):
15681568
15691569
ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance
15701570
"""
1571-
if not isinstance(formatter, mticker.Formatter):
1572-
raise ValueError(
1573-
"formatter argument must be matplotlib.ticker.Formatter")
1571+
if not hasattr(formatter, 'format_data'):
1572+
raise AttributeError("formatter argument should be instance of "
1573+
"matplotlib.ticker.Formatter")
15741574
self.isDefault_majfmt = False
15751575
self.major.formatter = formatter
15761576
formatter.set_axis(self)
@@ -1582,9 +1582,9 @@ def set_minor_formatter(self, formatter):
15821582
15831583
ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance
15841584
"""
1585-
if not isinstance(formatter, mticker.Formatter):
1586-
raise ValueError(
1587-
"formatter argument must be matplotlib.ticker.Formatter")
1585+
if not hasattr(formatter, 'format_data'):
1586+
raise AttributeError("formatter argument should be instance of "
1587+
"matplotlib.ticker.Formatter")
15881588
self.isDefault_minfmt = False
15891589
self.minor.formatter = formatter
15901590
formatter.set_axis(self)
@@ -1596,9 +1596,9 @@ def set_major_locator(self, locator):
15961596
15971597
ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance
15981598
"""
1599-
if not isinstance(locator, mticker.Locator):
1600-
raise ValueError(
1601-
"locator argument must be matplotlib.ticker.Locator")
1599+
if not hasattr(locator, 'tick_values'):
1600+
raise AttributeError("formatter argument should be instance of "
1601+
"matplotlib.ticker.Locator")
16021602
self.isDefault_majloc = False
16031603
self.major.locator = locator
16041604
locator.set_axis(self)
@@ -1610,9 +1610,9 @@ def set_minor_locator(self, locator):
16101610
16111611
ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance
16121612
"""
1613-
if not isinstance(locator, mticker.Locator):
1614-
raise ValueError(
1615-
"locator argument must be matplotlib.ticker.Locator")
1613+
if not hasattr(locator, 'tick_values'):
1614+
raise AttributeError("formatter argument should be instance of "
1615+
"matplotlib.ticker.Locator")
16161616
self.isDefault_minloc = False
16171617
self.minor.locator = locator
16181618
locator.set_axis(self)

lib/matplotlib/tests/test_ticker.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -732,23 +732,23 @@ def test_latex(self, is_latex, usetex, expected):
732732

733733
def test_majformatter_type():
734734
fig, ax = plt.subplots()
735-
with pytest.raises(ValueError):
735+
with pytest.raises(AttributeError):
736736
ax.xaxis.set_major_formatter(matplotlib.ticker.LogLocator())
737737

738738

739739
def test_minformatter_type():
740740
fig, ax = plt.subplots()
741-
with pytest.raises(ValueError):
741+
with pytest.raises(AttributeError):
742742
ax.xaxis.set_minor_formatter(matplotlib.ticker.LogLocator())
743743

744744

745745
def test_majlocator_type():
746746
fig, ax = plt.subplots()
747-
with pytest.raises(ValueError):
747+
with pytest.raises(AttributeError):
748748
ax.xaxis.set_major_locator(matplotlib.ticker.LogFormatter())
749749

750750

751751
def test_minlocator_type():
752752
fig, ax = plt.subplots()
753-
with pytest.raises(ValueError):
753+
with pytest.raises(AttributeError):
754754
ax.xaxis.set_minor_locator(matplotlib.ticker.LogFormatter())

0 commit comments

Comments
 (0)