Python之matplotlib与wxPython的交互

matplotlib本身支持wxPython作为后端,在使用时,只需要导入backend_wxagg.FigureCanvasWxAgg即可使用。

FigureCanvasWxAgg继承自wx.Panel,所以说FigureCanvasWxAgg本身就具备了wx.Panel的作用。

可以具备matplotlib的功能

import wx   
from matplotlib.backends import backend_wxagg   
from matplotlib.figure import Figure   
   
class TestFrame(wx.Frame):   
    def __init__(self):   
        wx.Frame.__init__(self, None)   

        self.panel = backend_wxagg.FigureCanvasWxAgg(self, -1, Figure())   
        axes = self.panel.figure.gca()   
        axes.cla()   
        axes.plot([1,2,3],[1,2,3])   
         
        self.panel.draw()
            
   
app = wx.App()   
f= TestFrame()   
f.Show(True)   
app.MainLoop()

也兼具了wx.Panel的作用

import wx   
from matplotlib.backends import backend_wxagg   
from matplotlib.figure import Figure   
   
class TestFrame(wx.Frame):   
    def __init__(self):   
        wx.Frame.__init__(self, None)   
        self.panel = backend_wxagg.FigureCanvasWxAgg(self, -1, Figure())   
        sampleList = ['zero', 'one', 'two', 'three', 'four', 'five', 'six',
                      'seven', 'eight']
        wx.StaticText(self.panel, -1, "select one:", (15, 15))
        # wx.Choice(self.panel, -1, (15, 30), choices=sampleList)
        wx.ComboBox(self.panel, -1, "default value", (15, 30), wx.DefaultSize,
                    sampleList, wx.CB_DROPDOWN)    

        self.panel.draw()
            
   
app = wx.App()   
f= TestFrame()   
f.Show(True)   
app.MainLoop()

上面代码中注释掉的wx.Choice()行和下面的wx.ComboBox()行的作用一样。这里就不多复述了。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值