博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matplotlib嵌入到wxpython
阅读量:6435 次
发布时间:2019-06-23

本文共 1076 字,大约阅读时间需要 3 分钟。

2009-07-13 javaeye 

===========================    

 

matplotlib(mpl)本身支持wxpython作为backends。但是直接使用import pylab时调用的wx窗体不能自定义和改制。跟踪下pylab模块的show方法,最终找到窗体类为backend_wx(agg)下的FigureFrameWx(FigureFrameWxAgg).我想把这个类单独拽出来,但关联太多,实在力不从心,后来发现类FigureCanvasWx(FigureCanvasWxAgg),继承了wx.Panel类,图表显示应该跟此有关。(搞不太懂后缀agg的含义……)

 

FigureCanvasWx 需要三个参数:parent, id ,figure. 前两个与wx.Panel相同,后一个是Figure实例(参照matploglab.figure模块),鼓捣一阵,写出一个简单可显示窗体。

 

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()

  

 

 

这个代码只实现了一张极简单的x=y直线图,如果需要添加相应事件和显示,请参照backend_wx内的代码。

 

当然已经有人替我们做好一些, wxmpl 

参看源码,其实mpl嵌入wxpython不是难事。

 

转载于:https://www.cnblogs.com/c9com/archive/2013/01/05/2845545.html

你可能感兴趣的文章
[译]CSS-理解百分比的background-position
查看>>
虚拟机安装CentOS
查看>>
Idea里面老版本MapReduce设置FileInputFormat参数格式变化
查看>>
在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
查看>>
Unity3d游戏开发之-单例设计模式-多线程一
查看>>
通过jquery定位元素
查看>>
Tooltip表单验证的注册表单
查看>>
UWP开发中两种网络图片缓存方法
查看>>
超8千Star,火遍Github的Python反直觉案例集!
查看>>
【msdn wpf forum翻译】如何在wpf程序(程序激活时)中捕获所有的键盘输入,而不管哪个元素获得焦点?...
查看>>
全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商
查看>>
Python简单HttpServer
查看>>
Java LinkedList工作原理及实现
查看>>
负载均衡SLB的基本使用
查看>>
Centos 7 x86 安装JDK
查看>>
微信小程序的组件用法与传统HTML5标签的区别
查看>>
Hangfire 使用笔记
查看>>
(C#)Windows Shell 外壳编程系列8 - 同后缀名不同图标?
查看>>
教你彻底学会c语言基础——文件操作
查看>>
如何使用免费控件将Word表格中的数据导入到Excel中
查看>>