wxPython+Matplotlib绘制折线图表
使用Matplotlib在wxPython的Panel上绘制曲线图,需要导入:
importnumpy frommatplotlib.backends.backend_wxaggimportFigureCanvasWxAggasFigureCanvas frommatplotlib.figureimportFigure
下面直接贴出源代码:
#coding=utf-8 """ 程序的主入口 """ importwx importnumpy frommatplotlib.backends.backend_wxaggimportFigureCanvasWxAggasFigureCanvas frommatplotlib.figureimportFigure classFirseFrame(wx.Frame): def__init__(self,parent=None,id=-1,title='',pos=wx.DefaultSize,size=wx.DefaultSize,style=wx.DEFAULT_FRAME_STYLE): wx.Frame.__init__(self,parent,id,title,pos,size,style) self.InitUI() pass defInitUI(self): self.SetBackgroundColour('white') self.scorePanel=wx.Panel(self) scores=[89,98,70,80,60,78,85,90] sum=0 forsinscores: sum+=s average=sum/len(scores) t_score=numpy.arange(1,len(scores)+1,1) s_score=numpy.array(scores) self.figure_score=Figure() self.figure_score.set_figheight(3.6) self.figure_score.set_figwidth(7.8) self.axes_score=self.figure_score.add_subplot(111) self.axes_score.plot(t_score,s_score,'ro',t_score,s_score,'k') self.axes_score.axhline(y=average,color='r') self.axes_score.set_title(u'MyScores') self.axes_score.grid(True) self.axes_score.set_xlabel('T') self.axes_score.set_ylabel('score') FigureCanvas(self.scorePanel,-1,self.figure_score) pass classMainApp(wx.App): defOnInit(self): style=wx.DEFAULT_FRAME_STYLE^wx.MAXIMIZE_BOX self.frame=FirseFrame(id=-1,title=u'第一个窗口',pos=(10,10),size=(340,550),style=style) self.frame.Show() returnTrue defmain(): app=MainApp() app.MainLoop() if__name__=="__main__": main()
效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。