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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。