|
33 | 33 | _gridline_param_names= ['grid_'+name |
34 | 34 | fornamein_line_param_names+_line_param_aliases] |
35 | 35 |
|
36 | | -_MARKER_DICT= { |
37 | | -'out': (mlines.TICKDOWN,mlines.TICKUP), |
38 | | -'in': (mlines.TICKUP,mlines.TICKDOWN), |
39 | | -'inout': ('|','|'), |
40 | | -} |
41 | | - |
42 | 36 |
|
43 | 37 | classTick(martist.Artist): |
44 | 38 | """ |
@@ -204,18 +198,21 @@ def _set_labelrotation(self, labelrotation): |
204 | 198 | _api.check_in_list(['auto','default'],labelrotation=mode) |
205 | 199 | self._labelrotation= (mode,angle) |
206 | 200 |
|
| 201 | +@property |
| 202 | +def_pad(self): |
| 203 | +returnself._base_pad+self.get_tick_padding() |
| 204 | + |
207 | 205 | def_apply_tickdir(self,tickdir): |
208 | 206 | """Set tick direction. Valid values are 'out', 'in', 'inout'.""" |
209 | | -# This method is responsible forupdating `_pad`, and, in subclasses, |
210 | | -#for settingthe tick{1,2}line markers as well. From the user |
211 | | -#perspective this should always becalled through _apply_params, which |
212 | | -#further updates ticklabel positions usingthe new pads. |
| 207 | +# This method is responsible forverifying input and, in subclasses, for setting |
| 208 | +# the tick{1,2}line markers. From the user perspective this should always be |
| 209 | +# called through _apply_params, which further updates ticklabel positions using |
| 210 | +# the new pads. |
213 | 211 | iftickdirisNone: |
214 | 212 | tickdir=mpl.rcParams[f'{self.__name__}.direction'] |
215 | 213 | else: |
216 | 214 | _api.check_in_list(['in','out','inout'],tickdir=tickdir) |
217 | 215 | self._tickdir=tickdir |
218 | | -self._pad=self._base_pad+self.get_tick_padding() |
219 | 216 |
|
220 | 217 | defget_tickdir(self): |
221 | 218 | returnself._tickdir |
@@ -425,7 +422,11 @@ def _get_text2_transform(self): |
425 | 422 | def_apply_tickdir(self,tickdir): |
426 | 423 | # docstring inherited |
427 | 424 | super()._apply_tickdir(tickdir) |
428 | | -mark1,mark2=_MARKER_DICT[self._tickdir] |
| 425 | +mark1,mark2= { |
| 426 | +'out': (mlines.TICKDOWN,mlines.TICKUP), |
| 427 | +'in': (mlines.TICKUP,mlines.TICKDOWN), |
| 428 | +'inout': ('|','|'), |
| 429 | + }[self._tickdir] |
429 | 430 | self.tick1line.set_marker(mark1) |
430 | 431 | self.tick2line.set_marker(mark2) |
431 | 432 |
|
@@ -1617,6 +1618,14 @@ def _copy_tick_props(self, src, dest): |
1617 | 1618 | dest.tick1line.update_from(src.tick1line) |
1618 | 1619 | dest.tick2line.update_from(src.tick2line) |
1619 | 1620 | dest.gridline.update_from(src.gridline) |
| 1621 | +dest.update_from(src) |
| 1622 | +dest._loc=src._loc |
| 1623 | +dest._size=src._size |
| 1624 | +dest._width=src._width |
| 1625 | +dest._base_pad=src._base_pad |
| 1626 | +dest._labelrotation=src._labelrotation |
| 1627 | +dest._zorder=src._zorder |
| 1628 | +dest._tickdir=src._tickdir |
1620 | 1629 |
|
1621 | 1630 | defget_label_text(self): |
1622 | 1631 | """Get the text of the label.""" |
|