jupyter中利用matplotlib绘制动态图

本文介绍了在 Jupyter 中使用 matplotlib 创建动态图的技巧,通过清除旧图并绘制新图实现动态效果。虽然可以使用录屏和 GIF 来保存动态图,但这种方法可能不那么清晰。此外,文章还提到了 plotly.express 的优点和限制,并暗示未来可能发布关于 plotly.express 的教程。
摘要由CSDN通过智能技术生成

jupyter中利用matplotlib绘制动态图


原理:每次更新数据时,清除上一次的图片,并生成新的图片,以此达到(伪)动态图的效果。至于如何保存为真动态图,我是用录屏+生成GIF的方式获取动态图的,一般的视频播放软件都带这两个功能,比较麻烦(曲线救国),GIF不一定特别清晰,毕竟是视频转为GIF。

from IPython import display
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline

x = list(np.linspace(0,6,50))
y = np.sin(x)
for i in range(len(x)):
    plt.cla()  # 清除图片 
    plt.xlim((0, 6))
    plt.ylim((-1.1, 1.1))
    xx = x[:i]
    yy = y[:i]
    plt.plot(xx, yy, color='black')  # 绘制曲线
    plt.scatter(x[i-1], y[i-1], color='red', s=20)  # 绘制最新点
    plt.title('sin(x)')
    display.clear_output(wait=True)
    plt.pause(0.00000001) 
plt.show()

在这里插入图片描述
这个方法有有点好处就是,可以在图形中添加很多其他的图,比如我需要在折线图中添加散点图,或者多条折线图同时变化。
类似的有个很棒的画动态图的方法,是使用plotly.express来画图,缺点是不能把多种图形画在一起,比如我有一条折线图,我想要在折线图上标记多个点,plotly.express就做不到(可能是我不会,反正研究了大半天,有知道的大佬可以告诉我下),后面要是有时间的话,可能会做个plotly.express的初步教程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值