写python程序matplot作图在wxpython界面上
以下是一个简单的示例程序,它将使用wxPython创建一个GUI界面,使用matplotlib作图库在该界面中绘制图形。
import wx
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
class GraphFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, title="Matplotlib Graph", size=(800,600))
self.figure = plt.figure()
self.canvas = FigureCanvas(self, -1, self.figure)
self.ax = self.figure.add_subplot(111)
t = np.arange(0.0, 3.0, 0.01)
s = np.sin(2*np.pi*t)
self.ax.plot(t, s)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
self.SetSizer(self.sizer)
self.Fit()
if __name__ == '__main__':
app = wx.App()
frame = GraphFrame(None)
frame.Show(True)
app.MainLoop()
在这个程序中,我们首先导入了wx、numpy和matplotlib库。然后,我们定义了一个GraphFrame类,它继承自wx.Frame。在__init__函数中,我们创建了一个新的Figure对象和一个FigureCanvas对象,并将其添加到我们的主窗口中。我们还创建了一个Axes对象,并在其中绘制了一个简单的正弦波形。
最后,我们使用wx.BoxSizer将FigureCanvas添加到我们的窗口中,并调用了Fit函数来自动调整窗口大小,以适应图形。
运行该程序,您将看到一个新的GUI窗口,其中包含一个简单的正弦波形。您可以通过使用matplotlib库的其他函数和方法来绘制任何其他类型的图形,从而以类似的方式在wxPython界面上绘制它们。
原文地址: https://www.cveoy.top/t/topic/f1s 著作权归作者所有。请勿转载和采集!