1. 程式人生 > 程式設計 >wxPython繪圖模組wxPyPlot實現資料視覺化

wxPython繪圖模組wxPyPlot實現資料視覺化

本文例項為大家分享了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()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。