Работа масштабирования Matplotlib в сочетании с wxPython ScrolledWindow

У меня есть холст Matplotlib (FigureCanvasWxAgg), который я отображаю внутри wx.ScrolledWindow. Проблема заключается в том, что мне бы хотелось, чтобы функции масштабирования и панорамирования по умолчанию в Matplotlib работали вместе с ScrolledWindow, поэтому, когда пользователь масштабирует изображение в пределах холста, ScrolledWindow должно стать больше, чтобы приспособиться для масштабирования (полосы прокрутки становятся меньше). Аналогично для панорамирования, я бы хотел, чтобы стандартный инструмент панорамирования matplotlib работал вместе с нашим ScrolledWindow, поэтому, когда пользователь выполняет панорамирование изображения на холсте, полосы прокрутки ScrolledWindow должны перемещаться соответствующим образом.

Я давно искал и не видел никого, кто бы даже упомянул, возможно ли это. Кто-нибудь может указать мне правильное направление?

Спасибо за любую помощь / советы.

1 ответ

Проблема в том, что по умолчанию Zoom а также Pan не изменяйте размер фигуры, они просто меняют границы и перерисовывают сюжет.

То, что вы хотите, это Zoom изменить размер (сохраняя те же ограничения) и Pan работать как в обычном прокручиваемом окне. Я никогда не пробовал это, fig.set_size_inches(w,h) должен сделать свое дело.

Другие вопросы по тегам