matplotlib动态可视化

本文详细介绍了如何使用matplotlib在Python中实现动态可视化,包括创建figure对象、定义绘图函数、以及如何保存为GIF动画。通过示例展示了动态绘制y=sin(x)的函数变化,并提供了一个模拟雨滴落下的创意动态图效果。
摘要由CSDN通过智能技术生成


matplotlib可以有效实现数据可视化,但是为了提供更加直观的理解,我们往往需要动态可视化,本文即介绍如何利用matplotlib实现动态可视化。
matplotlib.animation是一个使能在matplotlib中绘制动图的模块,FuncAnimation 是animation 的用于绘制动图的类,要让静态图表动起来就需要用到这个FuncAnimation类,它能够通过重复调用绘图函数产生动图。
详细信息可以参考 官方文档

动态可视化实现方式解析

调用的一般形式:

from matplotlib.animation import FuncAnimation
animator = FuncAnimation(fig, func)

fig :用于绘制、缩放图表的figure对象;
func :在每一帧调用的用于绘图的函数。第一个参数是帧中的下一个值,表示时间序列上的时间。
其他参数参见官方文档
由此可知,要实现动态可视化必需要有两部分工作:
一是必须要传入的第一个参数fig,也就是说我们需要预先创建一个figure对象,并在调用FuncAnimation时传入,最简单的创建方式如下:

fig, ax = plt.subplots()

也可以先创建画布,再添加轴:

fig = plt.figure()
ax = fig.add_axes()

需要注意的是,如果有需要应该设置各个轴的上下限,确保图像显示的完整和连贯,代码如下:

ax.set_xlim(-np.pi,np.pi)#x轴显示区间(-3.14,3.14)
ax.set_ylim(-1, 1)#y轴显示区间(-1,1)

二是必须传入的第二个参数func,这要求我们自己创建绘图的函数,输入必须包含帧数据,创建的应该是图像关于时间的函数,本处创建的函数为:

def update(frame):
'''绘制y = sin(x)图像'''
    xdata.append(frame)#改变x轴数据
    ydata.append(np.sin(frame))#随之改变y轴数据
    ln.set_data(xdata, ydata)#绘图
    return ln,#必须返回plot对象

动态可视化实现代码

一个简单的绘制y = sin(x)实现如下(原代码出处):

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

fig, ax = plt.subplots() #创建画布
xdata, ydata = [], []
ln, = plt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值