(self, renderer)
| 26 | # interval as appropriate and see what parts of the tick to draw, if any. |
| 27 | class SkewXTick(maxis.XTick): |
| 28 | def draw(self, renderer): |
| 29 | # When adding the callbacks with `stack.callback`, we fetch the current |
| 30 | # visibility state of the artist with `get_visible`; the ExitStack will |
| 31 | # restore these states (`set_visible`) at the end of the block (after |
| 32 | # the draw). |
| 33 | with ExitStack() as stack: |
| 34 | for artist in [self.gridline, self.tick1line, self.tick2line, |
| 35 | self.label1, self.label2]: |
| 36 | stack.callback(artist.set_visible, artist.get_visible()) |
| 37 | needs_lower = transforms._interval_contains( |
| 38 | self.axes.lower_xlim, self.get_loc()) |
| 39 | needs_upper = transforms._interval_contains( |
| 40 | self.axes.upper_xlim, self.get_loc()) |
| 41 | self.tick1line.set_visible( |
| 42 | self.tick1line.get_visible() and needs_lower) |
| 43 | self.label1.set_visible( |
| 44 | self.label1.get_visible() and needs_lower) |
| 45 | self.tick2line.set_visible( |
| 46 | self.tick2line.get_visible() and needs_upper) |
| 47 | self.label2.set_visible( |
| 48 | self.label2.get_visible() and needs_upper) |
| 49 | super().draw(renderer) |
| 50 | |
| 51 | def get_view_interval(self): |
| 52 | return self.axes.xaxis.get_view_interval() |
no test coverage detected