wxPython+Matplotlib绘制折线图表

yipeiwu_com5年前Python基础

使用Matplotlib在wxPython的Panel上绘制曲线图,需要导入:

import numpy
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.figure import Figure

下面直接贴出源代码:

#coding=utf-8
"""
程序的主入口
"""
import wx
import numpy
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.figure import Figure

class FirseFrame(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
 def InitUI(self):
  self.SetBackgroundColour('white')

  self.scorePanel = wx.Panel(self)
  scores = [89, 98, 70, 80, 60, 78, 85, 90]
  sum = 0
  for s in scores:
   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'My Scores')
  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


class MainApp(wx.App):
 def OnInit(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()
  return True

def main():
 app = MainApp()
 app.MainLoop()

if __name__ == "__main__":
 main()

效果:

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

相关文章

Python基础学习之类与实例基本用法与注意事项详解

本文实例讲述了Python基础学习之类与实例基本用法与注意事项。分享给大家供大家参考,具体如下: 前言 和其他编程语言相比,Python用非常少的新语法和语义将类加入到语言中。Pytho...

关于Pytorch的MNIST数据集的预处理详解

关于Pytorch的MNIST数据集的预处理详解

关于Pytorch的MNIST数据集的预处理详解 MNIST的准确率达到99.7% 用于MNIST的卷积神经网络(CNN)的实现,具有各种技术,例如数据增强,丢失,伪随机化等。 操作系统...

Python第三方库xlrd/xlwt的安装与读写Excel表格

前言 相信大家都应该有所体会,在平时经常会遇到处理 Excel 表格数据的情况,人工处理起来实在是太麻烦了,我们可以使用 Python 来解决这个问题,我们需要两个 Python 扩展,...

在Python web中实现验证码图片代码分享

在Python web中实现验证码图片代码分享

系统版本: CentOS 7.4 Python版本: Python 3.6.1 在现在的WEB中,为了防止爬虫类程序提交表单,图片验证码是最常见也是最简单的应对方法之一。 1.验证码图...

python 信息同时输出到控制台与文件的实例讲解

python编程中,往往需要将结果用print等输出,如果希望输出既可以显示到IDE的屏幕上,也能存到文件中(如txt)中,该怎么办呢? 方法1 可通过日志logging模块输出信息到文...