`
angeloce
  • 浏览: 71779 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于matplotlib嵌入到wxpython

阅读更多

     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嵌入到wxPython中,以实现交互式的数据可视化。 首先,让我们理解这两个库的基本功能。matplotlib是一个开源库,它提供了丰富的图表类型,如线图、散点图、柱状图等,并支持自定义...

    wxPython+Matplotlib绘制折线图表

    以及Matplotlib的Figure和FigureCanvas模块,分别用于创建图形对象和将图形嵌入wxPython窗口。 示例代码中定义了两个类,FirseFrame和MainApp。FirseFrame继承自wx.Frame,是应用程序的主窗口,包含一个Panel用于...

    python matplotlib参考手册

    使用Matplotlib,用户可以将图表输出为各种硬拷贝格式,并且可以嵌入到多种交互式环境中。它支持与TeX文档集成的Postscript输出,这对于学术出版和报告来说非常重要。此外,Matplotlib还强调代码的可读性和可扩展性...

    matplotlib

    Matplotlib库被设计为可以轻松嵌入到多种图形用户界面工具包中,比如Tkinter、wxPython、Qt等。 NumPy是一个开源的Python科学计算库,它提供了高性能的多维数组对象以及用于处理数组的工具。NumPy库是SciPy、...

    matplotlib tutorial

    Matplotlib提供了一个面向对象的API,有助于将图表嵌入到使用Python GUI工具包(如PyQt、WxPython或Tkinter)的应用程序中。此外,它也可以在Python和IPython shell、Jupyter notebook以及Web应用服务器中使用。 ##...

    matplotlib-3.6.1.tar.gz

    5. **Jupyter Notebook兼容**:在Jupyter Notebook环境中,Matplotlib可以方便地嵌入图表,实现代码和结果的即时交互。 6. **Pyplot子模块**:Pyplot是Matplotlib最常用的子模块,提供了一套类似于MATLAB的命令接口...

    matplotlib-3.6.3.tar.gz

    1. matplotlib概述:matplotlib是Python最广泛使用的数据可视化库,它基于Tkinter GUI库,但同时也支持其他后端如Qt、wxPython等。其设计理念是模仿MATLAB的绘图语法,因此对于MATLAB用户来说,matplotlib的学习曲线...

    matlab自相关代码-MATPLOTLIB-COMPLETE:完整的matplotlib

    +等通用GUI工具包将绘图嵌入到应用程序中。 还有一个基于状态机(如OpenGL)的程序化“ pylab”接口,尽管不鼓励使用它,但它的设计与MATLAB非常相似。 SciPy使用Matplotlib。 Matplotlib最初由John D. Hunter编写,...

    利用PyQt5+Matplotlib 绘制静态/动态图的实现代码

    它支持多种输出格式,如PNG、PDF、SVG等,并且能够嵌入到GUI工具包中,如Tkinter、wxPython、PyQt等。 #### 静态图表绘制 在静态图表绘制中,我们通常会先定义好数据集,然后使用Matplotlib将其可视化。这种方式...

    Python爬虫数据可视化制作音乐播放软件

    开发者可能选择了SQLite这样的轻量级数据库,因为它不需要单独的服务进程,可以直接嵌入到Python应用程序中。通过SQL语句,可以将爬取到的音乐数据和用户的收藏、播放历史等信息存储在数据库中,实现快速检索和更新...

    Programming Python 中文第四版

    12. **扩展与嵌入**:讲解如何使用C或C++扩展Python,以及如何将Python嵌入到其他应用中。 13. **实战项目**:提供实际项目案例,让读者能够将所学知识应用到实践中,增强动手能力。 通过阅读《Programming Python...

    算术随机数字画图计算

    这个项目结合了基础的数学运算、随机数生成以及可视化技术,帮助初学者理解如何将这些元素整合到实际应用中。下面我们将深入探讨其中涉及的几个关键知识点。 首先,"算术随机数字计算"是指使用计算机生成随机数,并...

    python可以用来做什么.docx

    Python可以作为组件集成的语言,通过C/C++扩展,嵌入到其他系统中。它可以作为控制语言,用于脚本化测试、调用库函数,或者在不重新编译的情况下定制产品。Python有工具如SWIG和SIP,可以帮助自动化C/C++库的集成...

    Learning Python 4th edition

    14. **扩展与嵌入Python**:讲解如何编写C/C++扩展模块,以及如何在其他语言中嵌入Python解释器。 15. **高级话题**:涵盖元编程、装饰器、生成器、上下文管理器、生成器表达式、列表推导等Python的高级特性。 ...

    Program mirovanie_na_Python,_Tom

    根据提供的文件信息,本书《程序设计于Python》第四版由马克·卢茨撰写,是关于Python编程语言在系统管理、图形界面开发与Web应用领域的深入探讨。本书特别聚焦于使用Python来解决实际问题的方法和技术,而不仅仅...

    air_canvas

    Plotly的图表可以在网页上嵌入,用户可以通过鼠标悬停来查看数据详情,非常适合数据探索和报告制作。 4. **Bokeh**:是另一个强大的交互式可视化库,特别适合大规模数据的可视化,可以生成能在现代Web浏览器中展示...

    (完整版)python可以用来做什么.pdf

    它可以扩展C/C++库,也可以被嵌入到其他系统中,使得动态定制和脚本化控制变得容易。SWIG和SIP等工具简化了这个过程。Python还支持COM(Windows)、Jython(Java)、IronPython(.NET)和CORBA等跨平台的组件交互。 ...

    IPython功能丰富的工具非常有效的使用交互式Python

    10. **嵌入式使用**:除了作为独立的shell,IPython还可以被其他应用程序嵌入,作为其内部的Python解释器,例如在Qt或wxPython应用中。 通过这些特性,IPython成为Python开发者和数据科学家的首选工具,它不仅提供...

    学习python可以干什么

    4. **可嵌入**:Python可以嵌入到其他系统中,作为组件使用,增加程序的功能。 5. **易于维护**:Python的模块化设计使得代码组织清晰,便于维护和扩展。 6. **互动模式**:Python支持交互式编程,可以在命令行...

    CREATE_OWN_DBS:使用Python

    2. **SQLite数据库**:SQLite是一个轻量级、无服务器、自包含的数据库引擎,可以直接嵌入到Python程序中,非常适合小型应用或作为学习数据库管理的基础。 3. **数据库设计**:包括关系数据库的概念,如实体、属性、...

Global site tag (gtag.js) - Google Analytics