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 http://agni.phys.iit.edu/~kmcivor/wxmpl/
参看源码,其实mpl嵌入wxpython不是难事。
分享到:
相关推荐
将matplotlib嵌入到wxpython的一个入门教程,本人已看完,内容不多但很有用
将 Matplotlib 嵌入到Pyside2应用程序中,可以让您创建具有丰富图形界面的桌面应用程序。 以下是一个资源描述示例,用于在Pyside2应用程序中嵌入Matplotlib以实现画图功能: 资源描述: 标题: Pyside2与Matplotlib...
Scientific Visualization ...wxPython and Matplotlib 使用的wxpython与matplotlib的科学可视化 Scott Pearse CSCI 5448 Spring 2011 上的讲义ppt的pdf版。简要表述了如何使用着两者,并同时使用以及效果图等内容。
用python2.6写的LLC计算工具,使用了numpy,matplotlib和wxpython。能够根据参数绘制LLC图形
# 使用 matplotlib中的FigureCanvas (在使用 Qt5 Backends中 FigureCanvas继承自QtWidgets.QWidget) from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from PyQt5 import QtCore,...
python2.5配置pylot所需的wxPython numpy matplotlib
matplotlib matplotlib matplotlib matplotlib
主要介绍了wxPython+Matplotlib绘制折线图表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
50题matplotlib从入门到精通.ipynb
c ++使用matplotlib
全网最全Matplotlib中文文档指南, 没有之一。 涵盖所有的Matplotlib 函数。
第五章到第七章分别介绍PyGtk、PyQt、WxPython和Matplotlib配合,几个 例子是处理的同样内容,第八章介绍了Matplotlib和Web的配合,CGI、mod_python、 Django,Pylons等几个方面,最后一章也就是第九章,介绍了...
案例包括点击画图功能,和显示 matplotlib 导航条功能(比如,显示保存、放大等功能按钮);但是,matplotlib 自带的导航条功能是英文的,做软件时用户用起来可能不方便。
python关于matplotlib函数汇总及示例
包含一个pdf文件,介绍了python中matplotlib模块的使用
如何在python下正确运行%matplotlib inline? 在使用jupyter notebook ...其作用就是在你调用plot()进行画图或者直接输入Figure的实例对象的时候,会自动的显示并把figure嵌入到console中,那么如何在python下正确运行呢
wxmplot提供了高级wxPython _小部件,用于基于matplotlib绘制和显示数字数据。 尽管matplotlib提供了出色的通用绘图功能并支持许多GUI和非GUI后端,但它与任何特定的GUI工具包都没有非常紧密的集成。 有了大量的绘图...