wxPython、wxformBuilder和matplotlib:调整要平移的图形的大小

2024-10-01 00:24:39 发布

您现在位置:Python中文网/ 问答频道 /正文

希望你能帮我这个忙。 -我对python和gui编程都是新手,所以请耐心等待。在

我尝试使用wxformBuilder创建一个简单的GUI,用户可以选择一个csv文件并在另一个面板(右面板)中打印它。 GUI和结构如下图所示: GUI and Structure

我可以使用下面显示的代码在面板中绘制一些示例数据,但是在调整窗口大小时,我无法使图形缩放到面板上。在

import wx
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import \
    FigureCanvasWxAgg as FigureCanvas, \
    NavigationToolbar2WxAgg as NavigationToolbar
import numpy as np
import gui2


class explorerFrame(gui2.mainFrame):
    def __init__(self,parent): 
         gui2.mainFrame.__init__(self,parent) 
         self.CreatePlot()     
         return

     def CreatePlot(self):
         self.figure = Figure()           
         self.axes = self.figure.add_subplot(111)
         self.axes.grid()
         x = np.arange(0, 6, .01)
         y = np.sin(x**2)*np.exp(-x)
         self.axes.plot(x, y) 
         self.canvas = FigureCanvas(self.right_panel, -1, self.figure)

         return

 app = wx.App(False)
 frame = explorerFrame(None)
 frame.Show(True)
 app.MainLoop()

下图说明了缩放问题: Example 1Example 2

我尝试在面板中添加一个boxSizer,但是我不确定如何将画布放入sizer中。任何帮助都将不胜感激。在

谨致问候 卡斯珀


Tags: fromimportself面板matplotlibasnpgui