|
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."""
|
|