Python动态绘图的方法(matplotlib,matplotlib.animation,pyechart,echart)

Python动态绘图全攻略:matplotlib与pyechart实现
本文介绍了Python中动态绘图的多种方法,包括使用matplotlib的循环添加数据和循环刷新清除旧数据,以及利用第三方插件imagemagick保存gif文件。此外,还详细讲解了如何利用pyecharts创建动态图并保存为html,以及如何结合flask发布图形网页。文章提供了详细的代码示例和步骤,适合希望在Python中实现动态绘图的开发者参考。

Python动态绘图的方法(matplotlib,matplotlib.animation,pyechart,echart

目录

方法一:matplotlib循环添加数据 1

方法二:matplotlib循环刷新-清除旧数据-添加新数据 1

方法三、利用第三方插件imagemagick实现动态图保存gif文件 2

方法四:利用pyecharts实现图展示-保存为html 3

方法五:利用flask和pyechart组合-web发布图形 4

方法六:利用flask发布静态echart的html网页 7

方法七:利用flask+ajax+echart+json发布异步图形网页 8

方法八:flask+ajax+echart+json+mysql的自动刷新网页展示数据库数据 11

 

 

 

方法一:matplotlib循环添加数据

import numpy as np
import matplotlib.pyplot as plt
"""
动态绘图方法一:
通过刷新图面的方法,每次循环在绘制新图画前,把当前绘图区的内容进行清空,
然后绘制新的图形
"""
fig=plt.figure()  #设置图面大小
plt1=plt.subplot(211) #设置绘图区域2行1列,第一个图区
plt2=plt.subplot(212)#设置绘图区域2行1列,第二个图区
plt1.axis([0, 100, 0, 1])
xa=[]
ya = []
pause_time=0.01  #动态刷新时间
for i in range(50):
    y = np.random.random()
    ya.append(y)  # 每迭代一次,将i放入y1中画出来
    xa.append(i)
    plt1.cla()   # 清除键
    plt1.plot(xa,ya)
    plt.pause(pause_time)

 

方法二:matplotlib循环刷新-清除旧数据-添加新数据

"""
利用绘图的特性,每次绘制的内容,在前一次的结果上添加,
这个方法需要对数据进行特殊处理,每次绘制的数据,只有新添加的数据,旧的数据需要删除
"""
plt2.axis([0, 100, 0, 1])
xs = [0, 0]
ys = [1, 1]
for i in range(50):
    y = np.random.random()
    xs[0] = xs[1]
    ys[0] = ys[1]
    xs[1] = i
    ys[1] = y
    plt2.plot(xs, ys)
    plt.pause(pause_time)
plt.show()

 

 

方法三、利用第三方插件imagemagick实现动态图保存gif文件

  1. 首先现在imagemagick软件,这里有个坑,需要下载6.9版本的,应为7.0版本没有了convert.exe命令,必须用6.9版本的,网上的教程都是用的这个convert命令
  2. 安装完,imagemagick后,matplotlib并不知道这个命令所在的位置,因此需要告诉命令convert的绝对位置

在python中利用print(matplotlib.matplotlib_fname()),获得matplotlib配置文件的位置,在最后一行,修改命令的全局路径

,为animation.convert_path: D:\Program Files\ImageMagick-6.9.10-Q16\convert.exe

  1. 在程序中就可以正常使用了

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation
print(matplotlib.matplotlib_fname())  # 修改matplotlib配置文件的位置
fig = plt.figure()  # 画纸
ax = plt.subplot()  # 绘图区
xdata, ydata = [], [] &

Pythonmatplotlib库中有一个模块叫做animation,可以用来制作动画。它可以用于创建各种类型的动画,比如线性动画、散点图动画、曲线动画等等。 要用matplotlib.animation来制作动画,首先需要导入相关的模块。然后创建一个画布和子图,并在子图中添加要展示的数据。接下来创建一个动画函数,用于更新画布中的数据。最后使用FuncAnimation函数来创建动画,指定动画函数、更新频率等参数。 具体来说,可以通过以下步骤来画一个简单的动画:首先导入相关的模块和数据;然后创建一个画布和子图,并在子图中添加要展示的数据;接下来创建一个动画函数,用于在每帧中更新画布中的数据;最后使用FuncAnimation函数来创建动画,指定动画函数、更新频率等参数。 在动画函数中,可以使用matplotlib提供的各种绘图函数来更新画布中的数据,比如plot函数、scatter函数、set_data函数等。同时,可以通过设置动画函数的参数来控制动画的帧数、间隔时间等。最后调用show函数来展示动画。 总之,使用matplotlib.animation来制作动画非常简单,只需要几行代码就可以实现各种类型的动画效果。而且matplotlib库本身提供了丰富的绘图函数,可以轻松实现各种动画效果。因此,python matplotlib.animation是一个非常强大的工具,适用于数据可视化、科学计算等各种领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值