@@ -1863,25 +1863,49 @@ def axisinfo(self, unit, axis):
1863
1863
default_limits = (datemin , datemax ))
1864
1864
1865
1865
1866
+ # The following is so that we can set the converter for dates
1867
+ # via the validator for the rcParams `date.converter` and
1868
+ # `date.interval_multiples`
1866
1869
1867
- def register_converters ():
1868
- """
1869
- Helper to register the date converters.
1870
1870
1871
- Useful to call if the :rc:`date.converter` or :rc:`date.interval_multiples`
1872
- change.
1871
+ global _converter
1872
+ _conv_st = 'auto'
1873
+ global _int_mult
1874
+ _int_mult = True
1875
+
1876
+
1877
+ def _set_converter (s ):
1878
+ """ Called by validator for rcParams date.converter"""
1879
+ global _conv_st
1880
+ _conv_st = s
1881
+ _register_converters ()
1882
+
1883
+
1884
+ def _set_int_mult (b ):
1885
+ """ Called by validator for rcParams date.interval_multiples"""
1886
+ global _int_mult
1887
+ _int_mult = b
1888
+ _register_converters ()
1889
+
1890
+
1891
+ def _register_converters ():
1892
+ """
1893
+ Helper to register the date converters when rcParams `date.converter` and
1894
+ `date.interval_multiples` are changed. Called by the helpers above.
1873
1895
"""
1874
- if matplotlib .rcParams ['date.converter' ] == 'concise' :
1896
+ global _conv_st
1897
+ global _int_mult
1898
+ if _conv_st == 'concise' :
1875
1899
converter = ConciseDateConverter
1876
1900
else :
1877
1901
converter = DateConverter
1878
1902
1879
- interval_multiples = matplotlib . rcParams [ 'date.interval_multiples' ]
1903
+ interval_multiples = _int_mult
1880
1904
units .registry [np .datetime64 ] = converter (
1881
1905
interval_multiples = interval_multiples )
1882
1906
units .registry [datetime .date ] = converter (
1883
1907
interval_multiples = interval_multiples )
1884
1908
units .registry [datetime .datetime ] = converter (
1885
1909
interval_multiples = interval_multiples )
1886
1910
1887
- register_converters ()
1911
+ # _register_converters ()
0 commit comments