Работа масштабирования Matplotlib в сочетании с wxPython ScrolledWindow
У меня есть холст Matplotlib (FigureCanvasWxAgg), который я отображаю внутри wx.ScrolledWindow. Проблема заключается в том, что мне бы хотелось, чтобы функции масштабирования и панорамирования по умолчанию в Matplotlib работали вместе с ScrolledWindow, поэтому, когда пользователь масштабирует изображение в пределах холста, ScrolledWindow должно стать больше, чтобы приспособиться для масштабирования (полосы прокрутки становятся меньше). Аналогично для панорамирования, я бы хотел, чтобы стандартный инструмент панорамирования matplotlib работал вместе с нашим ScrolledWindow, поэтому, когда пользователь выполняет панорамирование изображения на холсте, полосы прокрутки ScrolledWindow должны перемещаться соответствующим образом.
Я давно искал и не видел никого, кто бы даже упомянул, возможно ли это. Кто-нибудь может указать мне правильное направление?
Спасибо за любую помощь / советы.
1 ответ
Проблема в том, что по умолчанию Zoom
а также Pan
не изменяйте размер фигуры, они просто меняют границы и перерисовывают сюжет.
То, что вы хотите, это Zoom
изменить размер (сохраняя те же ограничения) и Pan
работать как в обычном прокручиваемом окне. Я никогда не пробовал это, fig.set_size_inches(w,h)
должен сделать свое дело.