python嵌入窗体中的折线图更新_Python利用Matplotlib和Tkinter在应用程序中内嵌图表...

在日常应用程序开发中,图表(折线图,柱状图等)以其直观显示,清晰明了的优势,使得应用范围越来越广泛,本文以一个简单的小例子,简述如何将Tkinter和Matplotlib相互关联起来,在应用程序中嵌入图表,仅供学习分享使用,如有不足之处,还请指正。

涉及知识点

Tkinter 是Python内置的桌面程序开发组件库,包含日常使用的基础组件(如:Label,Button,Entry等),利用Tkinter可以方便的开发可视化程序。

Matlotlib 是一个开源的数据可视化类库,利用matplotlib可以绘制各种类型的图表(如:折线图,柱状图,散点图等)。

Numpy 是一个开源的数学相关的类库,广泛应用于数学计算等领域。本例主要使用Numpy提供的数学函数和随机数生成数据源。

操作步骤

如果要将matplotlib生成图表和Tkinter生成的GUI程序关联起来,需要以下3个步骤:

创建Matplotlib的figure(画布)对象,并在figure上进行绘图。

创建FigureCanvasTkAgg(画布容器)对象,参数为第1步生成的figure对象和容器存放的父对象,并调用创建对象的draw函数。

调用FigureCanvasTkAgg对应组件的Pack方法,将对象显示在页面上。

示例效果图

将Matlotlib生成的曲线图,嵌入到普通的windows程序中,如下图所示:

核心代码

创建图表代码

1 defcreate_matplotlib(self):2 """创建绘图对象"""

3 #设置中文显示字体

4 mpl.rcParams['font.sans-serif'] = ['SimHei'] #中文显示

5 mpl.rcParams['axes.unicode_minus'] = False #负号显示

6 #创建绘图对象f figsize的单位是英寸 像素 = 英寸*分辨率

7 self.figure = plt.figure(num=2, figsize=(7, 4), dpi=80, facecolor="gold", edgecolor='green', frameon=True)8 #创建一副子图

9 fig1 = plt.subplot(1, 1, 1) #三个参数,依次是:行,列,当前索引

10 #创建数据源:x轴是等间距的一组数

11 x = np.arange(-2 * np.pi, 2 * np.pi, 0.1)12 y1 =np.sin(x)13 y2 =np.cos(x)14

15 line1 = fig1.plot(x, y1, color='red', linewidth=2, label='y=sin(x)', linestyle='--') #画第一条线

16 line2 = fig1.plot(x, y2, color='green', label='y=cos(x)')17 plt.setp(line2, linewidth=1, linestyle='-', alpha=0.7) #华第二条线 color='',

18

19 fig1.set_title("数学曲线图", loc='center', pad=20, fontsize='xx-larg

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值