@@ -1875,6 +1875,36 @@ def get_minpos(self):
1875
1875
raise NotImplementedError ()
1876
1876
1877
1877
1878
+ def _make_getset_interval (method_name , lim_name , attr_name ):
1879
+ """
<
10000
td data-grid-cell-id="diff-04227e6d4900298b309bddab2e848da8cc638da2913c64b5dcf0d800ba2a0c16-1877-1880-0" data-selected="false" role="gridcell" style="background-color:var(--diffBlob-additionNum-bgColor, var(--diffBlob-addition-bgColor-num));text-align:center" tabindex="-1" valign="top" class="focusable-grid-cell diff-line-number position-relative left-side">
1880
+ Helper to generate ``get_{data,view}_interval`` and
1881
+ ``set_{data,view}_interval`` implementations.
1882
+ """
1883
+
1884
+ def getter (self ):
1885
+ # docstring inherited.
1886
+ return getattr (getattr (self .axes , lim_name ), attr_name )
1887
+
1888
+ def setter (self , vmin , vmax , ignore = False ):
1889
+ # docstring inherited.
1890
+ if ignore :
1891
+ setattr (getattr (self .axes , lim_name ), attr_name , (vmin , vmax ))
1892
+ else :
1893
+ oldmin , oldmax = getter (self )
1894
+ if oldmin < oldmax :
1895
+ setter (self , min (vmin , vmax , oldmin ), max (vmin , vmax , oldmax ),
1896
+ ignore = True )
1897
+ else :
1898
+ setter (self , max (vmin , vmax , oldmax ), min (vmin , vmax , oldmin ),
1899
+ ignore = True )
1900
+ self .stale = True
1901
+
1902
+ getter .__name__ = f"get_{ method_name } _interval"
1903
+ setter .__name__ = f"set_{ method_name } _interval"
1904
+
1905
+ return getter , setter
1906
+
1907
+
1878
1908
class XAxis (Axis ):
1879
1909
__name__ = 'xaxis'
1880
1910
axis_name = 'x'
@@ -2118,39 +2148,14 @@ def get_ticks_position(self):
2118
2148
"default" : "default" , "unknown" : "unknown" }[
2119
2149
self ._get_ticks_position ()]
2120
2150
2121
- def get_view_interval (self ):
2122
- # docstring inherited
2123
- return self .axes .viewLim .intervalx
2124
-
2125
- def set_view_interval (self , vmin , vmax , ignore = False ):
2126
- # docstring inherited
2127
- if ignore :
2128
- self .axes .viewLim .intervalx = vmin , vmax
2129
- else :
2130
- Vmin , Vmax = self .get_view_interval ()
2131
- if Vmin < Vmax :
2132
- self .axes .viewLim .intervalx = (min (vmin , vmax , Vmin ),
2133
- max (vmin , vmax , Vmax ))
2134
- else :
2135
- self .axes .viewLim .intervalx = (max (vmin , vmax , Vmin ),
2136
- min (vmin , vmax , Vmax ))
2151
+ get_view_interval , set_view_interval = _make_getset_interval (
2152
+ "view" , "viewLim" , "intervalx" )
2153
+ get_data_interval , set_data_interval = _make_getset_interval (
2154
+ "data" , "dataLim" , "intervalx" )
2137
2155
2138
2156
def get_minpos (self ):
2139
2157
return self .axes .dataLim .minposx
2140
2158
2141
- def get_data_interval (self ):
2142
- # docstring inherited
2143
- return self .axes .dataLim .intervalx
2144
-
2145
- def set_data_interval (self , vmin , vmax , ignore = False ):
2146
- # docstring inherited
2147
- if ignore :
2148
- self .axes .dataLim .intervalx = vmin , vmax
2149
- else :
2150
- Vmin , Vmax = self .get_data_interval ()
2151
- self .axes .dataLim .intervalx = min (vmin , Vmin ), max (vmax , Vmax )
2152
- self .stale = True
2153
-
2154
2159
def set_default_intervals (self ):
2155
2160
# docstring inherited
2156
2161
xmin , xmax = 0. , 1.
@@ -2445,40 +2450,14 @@ def get_ticks_position(self):
2445
2450
"default" : "default" , "unknown" : "unknown" }[
2446
2451
self ._get_ticks_position ()]
2447
2452
2448
- def get_view_interval (self ):
2449
- # docstring inherited
2450
- return self .axes .viewLim .intervaly
2451
-
2452
- def set_view_interval (self , vmin , vmax , ignore = False ):
2453
- # docstring inherited
2454
- if ignore :
2455
- self .axes .viewLim .intervaly = vmin , vmax
2456
- else :
2457
- Vmin , Vmax = self .get_view_interval ()
2458
- if Vmin < Vmax :
2459
- self .axes .viewLim .intervaly = (min (vmin , vmax , Vmin ),
2460
- max (vmin , vmax , Vmax ))
2461
- else :
2462
- self .axes .viewLim .intervaly = (max (vmin , vmax , Vmin ),
2463
- min (vmin , vmax , Vmax ))
2464
- self .stale = True
2453
+ get_view_interval , set_view_interval = _make_getset_interval (
2454
+ "view" , "viewLim" , "intervaly" )
2455
+ get_data_interval , set_data_interval = _make_getset_interval (
2456
+ "data" , "dataLim" , "intervaly" )
2465
2457
2466
2458
def get_minpos (self ):
2467
2459
return self .axes .dataLim .minposy
2468
2460
2469
- def get_data_interval (self ):
2470
- # docstring inherited
2471
- return self .axes .dataLim .intervaly
2472
-
2473
- def set_data_interval (self , vmin , vmax , ignore = False ):
2474
- # docstring inherited
2475
- if ignore :
2476
- self .axes .dataLim .intervaly = vmin , vmax
2477
- else :
2478
- Vmin , Vmax = self .get_data_interval ()
2479
- self .axes .dataLim .intervaly = min (vmin , Vmin ), max (vmax , Vmax )
2480
- self .stale = True
2481
-
2482
2461
def set_default_intervals (self ):
2483
2462
# docstring inherited
2484
2463
ymin , ymax = 0. , 1.
0 commit comments