Я делаю приложение для построения графиков, которое должно через tkinter gui позволять пользователю создавать графики для построения спектральных данных и изменять графики.
Я пытаюсь сделать это так пользователь может изменить пределы осей x и y после того, как данные были построены. Просматривая документы mpl, кажется, что очевидным решением является использование методов set_xlim
и set_ylim
. Однако, если эти методы вызываются после того, как линия построена, линия больше не будет видна, и промежуточные отметки оси отсутствуют. Через другие мои виджеты я знаю, что строки все еще содержатся в атрибуте lines
объекта оси, они просто не видны.
Мой вопрос: есть ли способ «установить» оси после того, как линия была построена, так что данные будут адаптироваться к ней, то есть быть видимыми после настройки осей, и иметь отметки, как это было до настройки? Я покажу изображения графика, чтобы проиллюстрировать мою ситуацию. Определения классов довольно длинные, поэтому я просто покажу использование set_xlim
и set_ylim
График до изменения пределов оси:
The plot after changing the x limits:
Сюжет после изменения пределов x
if all(entry.get() for entry in {self.lxlimEntry, self.rxlimEntry}):
self.master.controller.get_plots()[self.plotVar.get()].axes[0].set_xlim(self.lxlimEntry.get(), self.rxlimEntry.get())
if all(entry.get() for entry in {self.lylimEntry, self.rylimEntry}):
self.master.controller.get_plots()[self.plotVar.get()].axes[0].set_ylim(self.lylimEntry.get(), self.rylimEntry.get())
Виджеты Entry содержатся в Toplevel, созданном страницей приложения (master
), а Entries - это то место, где пользователь вводит новые пределы x и y. controller
- это серверная часть приложения.