1

Я использую график Matplotlib (с базой данных) внутри панели wxPython. У меня есть сюжет (карта США с разбросом городов). Я пытаюсь сделать некоторые возможности интерактивного масштабирования (выберите поле на карте и «увеличить» только в этой области).Python и Interactive Zoom Участок с Matplotlib

Мне удалось отобразить панель инструментов, но когда я нажимаю на кнопки, ничего не происходит. Похоже, что панель инструментов для шоу. Есть предположения? Вот мой код:

 # Set up area for plotting Basemap Plot and scatter plot 
     self.figure = Figure(None,dpi=75) 
     self.canvas = FigureCanvas(self.PlotPanel, -1, self.figure) 
     self.axes = self.figure.add_axes([0,0,1,1],frameon=False) 
     self.SetColor((255,255,255)) 

     # Toolbar Set up 
     self.toolbar=NavigationToolbar2Wx(self.canvas) 
     self.toolbar.Realize() 
     tw,th = self.toolbar.GetSizeTuple() 
     fw,fh = self.canvas.GetSizeTuple() 
     self.toolbar.SetSize(wx.Size(fw,th)) 
     sizer_7.Add(self.toolbar,0) 
     self.toolbar.update() 

ответ

1

Посмотрите на embedding_in_wx2 пример, который отлично работает для меня.

Возможно, что-то не так с вашим импортом: вам сначала нужно импортировать matplotlib, чем установить бэкэнд (matplotlib.use('WXagg')), а затем импортировать бэкэнд.

Однако это не легко помочь вам, не имея полного примера со всем импортом.

+0

Это сработало! Я думаю, что это связано с импортом и размещением функций. Пример был фантастическим - не знаю, как я его пропустил. Благодаря! – mcfly

Смежные вопросы