@@ -600,6 +600,10 @@ class Axis(martist.Artist):
600
600
# The class used in _get_tick() to create tick instances. Must either be
601
601
# overwritten in subclasses, or subclasses must reimplement _get_tick().
602
602
_tick_class = None
603
+ converter = _api .deprecate_privatize_attribute (
604
+ "3.10" ,
605
+ alternative = "get_converter and set_converter methods"
606
+ )
603
607
604
608
def __str__ (self ):
605
609
return "{}({},{})" .format (
@@ -656,7 +660,7 @@ def __init__(self, axes, *, pickradius=15, clear=True):
656
660
if clear :
657
661
self .clear ()
658
662
else :
659
- self .converter = None
663
+ self ._converter = None
660
664
self ._converter_is_explicit = False
661
665
self .units = None
662
666
@@ -887,7 +891,7 @@ def clear(self):
887
891
mpl .rcParams ['axes.grid.which' ] in ('both' , 'minor' ))
888
892
self .reset_ticks ()
889
893
890
- self .converter = None
894
+ self ._converter = None
891
895
self ._converter_is_explicit = False
892
896
self .units = None
893
897
self .stale = True
@@ -1740,20 +1744,20 @@ def grid(self, visible=None, which='major', **kwargs):
1740
1744
def update_units (self , data ):
1741
1745
"""
1742
1746
Introspect *data* for units converter and update the
1743
- ``axis.converter `` instance if necessary. Return *True*
1747
+ ``axis.get_converter `` instance if necessary. Return *True*
1744
1748
if *data* is registered for unit conversion.
1745
1749
"""
1746
1750
if not self ._converter_is_explicit :
1747
1751
converter = munits .registry .get_converter (data )
1748
1752
else :
1749
- converter = self .converter
1753
+ converter = self ._converter
1750
1754
1751
1755
if converter is None :
1752
1756
return False
1753
1757
1754
- neednew = self .converter != converter
1758
+ neednew = self ._converter != converter
1755
1759
self ._set_converter (converter )
1756
- default = self .converter .default_units (data , self )
1760
+ default = self ._converter .default_units (data , self )
1757
1761
if default is not None and self .units is None :
1758
1762
self .set_units (default )
1759
1763
@@ -1767,10 +1771,10 @@ def _update_axisinfo(self):
1767
1771
Check the axis converter for the stored units to see if the
1768
1772
axis info needs to be updated.
1769
1773
"""
1770
- if self .converter is None :
1774
+ if self ._converter is None :
1771
1775
return
1772
1776
1773
- info = self .converter .axisinfo (self .units , self )
1777
+ info = self ._converter .axisinfo (self .units , self )
1774
1778
1775
1779
if info is None :
1776
1780
return
@@ -1797,20 +1801,20 @@ def _update_axisinfo(self):
1797
1801
self .set_default_intervals ()
1798
1802
1799
1803
def have_units (self ):
1800
- return self .converter is not None or self .units is not None
1804
+ return self ._converter is not None or self .units is not None
1801
1805
1802
1806
def convert_units (self , x ):
1803
1807
# If x is natively supported by Matplotlib, doesn't need converting
1804
1808
if munits ._is_natively_supported (x ):
1805
1809
return x
1806
1810
1807
- if self .converter is None :
1811
+ if self ._converter is None :
1808
1812
self ._set_converter (munits .registry .get_converter (x ))
1809
1813
1810
- if self .converter is None :
1814
+ if self ._converter is None :
1811
1815
return x
1812
1816
try :
1813
- ret = self .converter .convert (x , self .units , self )
1817
+ ret = self ._converter .convert (x , self .units , self )
1814
1818
except Exception as e :
1815
1819
raise munits .ConversionError ('Failed to convert value(s) to axis '
1816
1820
f'units: { x !r} ' ) from e
@@ -1824,7 +1828,7 @@ def get_converter(self):
1824
1828
-------
1825
1829
`~matplotlib.units.ConversionInterface` or None
1826
1830
"""
1827
- return self .converter
1831
+ return self ._converter
1828
1832
1829
1833
def set_converter (self , converter ):
1830
1834
"""
@@ -1838,16 +1842,16 @@ def set_converter(self, converter):
1838
1842
self ._converter_is_explicit = True
1839
1843
1840
1844
def _set_converter (self , converter ):
1841
- if self .converter == converter :
1845
+ if self ._converter == converter :
1842
1846
return
1843
1847
if self ._converter_is_explicit :
1844
1848
raise RuntimeError ("Axis already has an explicit converter set" )
1845
- elif self .converter is not None :
1849
+ elif self ._converter is not None :
1846
1850
_api .warn_external (
1847
1851
"This axis already has an converter set and "
1848
1852
"is updating to a potentially incompatible converter"
1849
1853
)
1850
- self .converter = converter
1854
+ self ._converter = converter
1851
1855
1852
1856
def set_units (self , u ):
1853
1857
"""
@@ -2568,8 +2572,8 @@ def set_default_intervals(self):
2568
2572
# not changed the view:
2569
2573
if (not self .axes .dataLim .mutatedx () and
2570
2574
not self .axes .viewLim .mutatedx ()):
2571
- if self .converter is not None :
2572
- info = self .converter .axisinfo (self .units , self )
2575
+ if self ._converter is not None :
2576
+ info = self ._converter .axisinfo (self .units , self )
2573
2577
if info .default_limits is not None :
2574
2578
xmin , xmax = self .convert_units (info .default_limits )
2575
2579
self .axes .viewLim .intervalx = xmin , xmax
@@ -2798,8 +2802,8 @@ def set_default_intervals(self):
2798
2802
# not changed the view:
2799
2803
if (not self .axes .dataLim .mutatedy () and
2800
2804
not self .axes .viewLim .mutatedy ()):
2801
- if self .converter is not None :
2802
- info = self .converter .axisinfo (self .units , self )
2805
+ if self ._converter is not None :
2806
+ info = self ._converter .axisinfo (self .units , self )
2803
2807
if info .default_limits is not None :
2804
2808
ymin , ymax = self .convert_units (info .default_limits )
2805
2809
self .axes .viewLim .intervaly = ymin , ymax
0 commit comments