wxPython绘图模块wxPyPlot实现数据可视化

yipeiwu_com6年前Python基础

本文实例为大家分享了wxPython绘图模块wxPyPlot实现数据可视化的具体代码,供大家参考,具体内容如下

#-*- coding: utf-8 -*- 
 
################################################################################
## 使用wxPython的绘图模块wxPyPlot,需要数据可视化的时候,无需再借用其他的库或模块了
################################################################################
import numpy
import wx
import wx.lib.plot as wxPyPlot #导入绘图模块,并命名为wxPyPlot
 
#---------------------------------------------------------------------------
# 需要把数据封装进入MyDataObject中
def MyDataObject():
 # 50 个点的sin函数,用蓝色圆点表示
 data1 = 2.*numpy.pi*numpy.arange(100)/100.
 data1.shape = (50, 2)
 data1[:,1] = numpy.sin(data1[:,0])
 markers = wxPyPlot.PolyMarker(data1, legend='Green Markers', colour='blue', marker='circle',size=1)
 
 # 50个点的cos函数,用红色表示
 data2 = 2.*numpy.pi*numpy.arange(100)/100.
 data2.shape = (50,2)
 data2[:,1] = numpy.cos(data2[:,0])
 lines = wxPyPlot.PolySpline(data2, legend= 'Red Line', colour='red')
 
 GraphTitle="Plot Data(Sin and Cos)"
 
 
 return wxPyPlot.PlotGraphics([markers, lines],GraphTitle, "X Axis", "Y Axis")
#-----------------------------------------------------------------------------
class TestFrame1(wx.Frame):
 def __init__(self, parent=None, id=wx.ID_ANY, title="Using wxPyPlot"):
  wx.Frame.__init__(self, parent, id, title,size=(600, 400))
  
  # 创建菜单栏
  self.mainmenu = wx.MenuBar()
 
  menu = wx.Menu()
  menu.Append(100, 'Draw1', 'Draw plots1')
  self.Bind(wx.EVT_MENU,self.OnPlotDraw1, id=100)
 
  self.mainmenu.Append(menu, '&Plot')
 
  self.SetMenuBar(self.mainmenu)
 
  # 创建状态栏,显示信息
  self.CreateStatusBar(2)
  
  self.pc = wxPyPlot.PlotCanvas(self) #此处导入绘图面板
 
 def OnPlotDraw1(self, event): #绘图函数
  self.pc.Draw(MyDataObject())
 
 
###########################################################################
## 测试wxPyPlot的代码
###########################################################################
if __name__=='__main__':
  app = wx.App()
  tf=TestFrame1(None)
  tf.Show()
  app.MainLoop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python操作多维数组输出和矩阵运算示例

本文实例讲述了Python操作多维数组输出和矩阵运算。分享给大家供大家参考,具体如下: 在许多编程语言中(Java,COBOL,BASIC),多维数组或者矩阵是(限定各维度的大小)预先定...

python实现xlsx文件分析详解

python实现xlsx文件分析详解

python脚本实现xlsx文件解析,供大家参考,具体内容如下 环境配置: 1.系统环境:Windows 7 64bit 2.编译环境:Python3.4.3 3.依赖库: os s...

Python实现判断一行代码是否为注释的方法

目前的编辑器大都可以自动检测某一行代码是否为代码行或注释行,但并不太提供代码行/注释行行数的统计,对于大量代码文件的代码行/注释行统计,就更少见一些。本篇文章试用一段Python脚本来实...

PYTHON基础-时间日期处理小结

步骤: 1. 掌握几种对象及其关系 2. 了解每类对象的基本操作方法 3. 通过转化关系转化 涉及对象 1. datetime >>> import datetim...

python使用装饰器作日志处理的方法

装饰器这东西我看了一会儿才明白,在函数外面套了一层函数,感觉和java里的aop功能很像;写了2个装饰器日志的例子, 第一个是不带参数的装饰器用法示例,功能相当于给函数包了层异常处理,第...