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设计】。

相关文章

Python3批量生成带logo的二维码方法

最近有个需求:批量生成带Logo的二维码 生成二维码比较简单,网上的资源也比较多,不赘述了。自己研究了一下加了logo并且美化了一下(网上的资源直接加Logo特别丑!!!忍不了!!!),...

使用APScheduler3.0.1 实现定时任务的方法

需求是在某一指定的时刻执行操作 网上的建议多为通过调用Scheduler的add_date_job实现 不过APScheduler 3.0.1与之前差异较大, 无法通过上述方法实现 参考...

python使用正则表达式替换匹配成功的组

正则表达式简介 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)...

python selenium循环登陆网站的实现

python selenium循环登陆网站的实现

selenium 登陆网站 记录一次登陆无线网的过程 1.首先看一下要登陆的界面 按一下F12看一下网页的源代码 想要登陆的话,这里需要识别验证码…有点麻烦 我们看看向网站post的...

Python中的TCP socket写法示例

Python中的TCP socket写法示例

前言 本文主要介绍了关于Python中TCP socket的写法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、 服务器server的写法: 1. 创建 sock...