| 578 | self.fig.canvas.draw_idle() |
| 579 | |
| 580 | def on_scroll(self, event): |
| 581 | cur_xlim = self.ax1.get_xlim() |
| 582 | cur_ylim = self.ax1.get_ylim() |
| 583 | xdata = event.xdata |
| 584 | ydata = event.ydata |
| 585 | if event.button == "up": |
| 586 | scale_factor = 0.5 |
| 587 | elif event.button == "down": |
| 588 | scale_factor = 2 |
| 589 | else: # This should never happen anyway |
| 590 | scale_factor = 1 |
| 591 | |
| 592 | self.ax1.set_xlim( |
| 593 | [ |
| 594 | xdata - (xdata - cur_xlim[0]) / scale_factor, |
| 595 | xdata + (cur_xlim[1] - xdata) / scale_factor, |
| 596 | ] |
| 597 | ) |
| 598 | self.ax1.set_ylim( |
| 599 | [ |
| 600 | ydata - (ydata - cur_ylim[0]) / scale_factor, |
| 601 | ydata + (cur_ylim[1] - ydata) / scale_factor, |
| 602 | ] |
| 603 | ) |
| 604 | self.fig.canvas.draw() |
| 605 | |
| 606 | def on_press(self, event): |
| 607 | if event.key == "n" or event.key == "right": |