plt.animation绘制动画

目录

一:介绍

二:创建线动画


一:介绍

matplotlib.animation 是 Matplotlib 库中的一个模块,用于创建动画。它提供了多种工具和函数,使您能够轻松地创建各种类型的动画。

二:创建线动画

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

fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = ax.plot([], [], 'r-', animated=True)


def init():
    ax.set_xlim(0, 2 * np.pi)
    ax.set_ylim(-1, 1)
    return ln,


def update(frame):
    xdata.append(frame)
    ydata.append(np.sin(frame))
    ln.set_data(xdata, ydata)
    return ln,


ani = animation.FuncAnimation(fig, update, frames=np.linspace(0, 2 * np.pi, 128),
                              init_func=init, blit=True)
plt.show()

三:绘制散点图

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

plt.close("all")

N_times = 10
N_tracks = 3
x = np.arange(N_times)
y = np.ones((N_tracks, N_times))*np.arange(N_tracks)[:, None]

data = {"Track": sorted(["Track 1", "Track 2", "Track 3"]*N_times),
        "Timeline": x.tolist()*3,
        "Positions": y.ravel()}
df = pd.DataFrame(data)

colors = {"Track 1": "tab:blue",
          "Track 2": "tab:orange",
          "Track 3": "tab:green"}

fig, ax = plt.subplots()
ax.set_yticks(np.arange(N_tracks), labels=df["Track"].unique())
ax.set_xticks(df["Timeline"].unique())
ax.set_xlim(df["Timeline"].min()-0.5, df["Timeline"].max()+0.5)

scatters = []
for track, group in df.groupby("Track"):
    scatters.append(ax.scatter(group["Timeline"].iloc[0],
                               group["Positions"].iloc[0],
                               s=45, c=colors[track]))


def animate(i):
    for scatter, (_, group) in zip(scatters, df.groupby("Track")):
        scatter.set_offsets((group["Timeline"].iloc[i],
                             group["Positions"].iloc[i]))


anim = FuncAnimation(fig, animate, frames=N_times, interval=200)
anim.save("test.gif", writer="pillow")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/336657.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器视觉技术与应用实战(平均、高斯、水平prewitt、垂直prewitt、水平Sobel、垂直Sobel、拉普拉斯算子、锐化、中值滤波)

扯一点题外话,这一个月经历了太多,接连感染了甲流、乙流,人都快烧没了,乙流最为严重,烧了一个星期的38-39度,咳嗽咳到虚脱。还是需要保护好身体,感觉身体扛不住几次连续发烧!&#x…

hdu 4507 吉哥系列故事——恨7不成妻

吉哥系列故事——恨7不成妻 题意 一个正整数和 7 7 7 有关当且仅当满足以下条件之一: 数位中某一位是 7 7 7数位和能被 7 7 7 整除这个整数能被 7 7 7 整除 统计 [ l , r ] [l,r] [l,r] 内所有和 7 7 7 无关 的数字的 平方和 思路 这道题需要一点思维。我…

Excel·VBA合并工作簿2

其他合并工作簿的方法,见之前的文章《ExcelVBA合并工作簿》 目录 8,合并文件夹下所有工作簿中所有工作表,按表头汇总举例 8,合并文件夹下所有工作簿中所有工作表,按表头汇总 与之前的文章《ExcelVBA合并工作簿&#x…

【51单片机Keil+Proteus8.9】控制步进电机+LCD1602显示状态

步进电机控制 设计思路 电路设计: 选用AT89C51单片机作为电路核心部件,外加LM016L液晶显示屏作为显示,显示步进电机的Fast,Slow,Stop的三个状态将AT89C51单片机所选引脚与LM016L控制引脚相连,再将数据通…

Self-RAG:通过自我反思学习检索、生成和批判

论文地址:https://arxiv.org/abs/2310.11511 项目主页:https://selfrag.github.io/ Self-RAG学习检索、生成和批评,以提高 LM 的输出质量和真实性,在六项任务上优于 ChatGPT 和检索增强的 LLama2 Chat。 问题:万能L…

Python入门到精通(四)——Python函数

Python函数 一、函数的定义 二、函数的参数及返回值 1、函数的参数 2、函数的返回值 三、函数说明文档 四、函数的嵌套调用 五、变量的作用域 六、综合案例 一、函数的定义 定义: 调用: 函数:是组织好的,可重复使用的&…

第04章_IDEA的安装与使用(上)(认识,卸载与安装,JDK相关设置,详细设置,工程与模块管理,代码模板的使用)

文章目录 第04章_IDEA的安装与使用(上)本章专题与脉络1. 认识IntelliJ IDEA1.1 JetBrains 公司介绍1.2 IntelliJ IDEA 介绍1.3 IDEA的主要优势:(vs Eclipse)1.4 IDEA 的下载 2. 卸载与安装2.1 卸载过程2.2 安装前的准备2.3 安装过程2.4 注册2…

浪之潮科技:动力恢复清积碳,尾气治理三元催化修复

针对汽车出现油耗增加、动力减弱以及尾气检测不合格等情况,深圳市浪之潮科技有限公司(以下简称:浪之潮科技)求真务实、勇于创新,独创两大系统六大部位——动力恢复清积碳、尾气治理三元催化修复,为广大车主…

大模型 RAG 面试篇

1.LLMs 存在模型幻觉问题,请问如何处理? 检索LLM。 先用问题在领域数据库里检索到候选答案,再用LLM对答案进行加工。 2.基于LLM向量库的文档对话 思路是怎么样? 加载文件读取文本文本分割文本向量化问句向量化在文本向量中匹配…

软件测试工程师简历项目经验怎么写?

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

探索世界,从一款好用的浏览器开始!

好用的浏览器分享 在这个数字化的时代,浏览器已经成为了我们生活中不可或缺的工具。从浏览新闻、社交媒体到工作学习,我们几乎无时无刻不在与浏览器打交道。那么,如何选择一款好用的浏览器呢?今天,我就来为大家分享几…

Java毕业设计-基于springboot的学习英语管理系统-第89期

获取源码资料,请移步从戎源码网:从戎源码网_专业的计算机毕业设计网站 项目介绍 基于springbootvue的医院管理系统:前端 vue、bootstrap、coreui,后端 maven、springmvc、spring、mybatis、redis,角色分为管理员、医…

2024年简历石沉大海,别投了,软件测试岗位饱和了....

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

SpringMVC传递数据给前台

SpringMVC有三种方式将数据提供给前台 第一种 使用Request域 第二种 使用Model(数据默认是存放在Request域中) 与第一种方式其实是一致的 第三种 使用Map集合(数据默认是存放在Request域中)

Appium 环境配置

Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,也是当下互联网企业实现移动自动化测试的重要工具。Appium 坚持的测试理念: •无需用户对 App 进行任何修改或…

git提交代码到远端仓库的方法详解

一、何为git git就是版本控制器,就比如说你新建了一个git文件夹,里面用于存放你的C语言实习报告,现在要用git对该文件夹进行接管。当你修改了你的C语言实习报告点击保存之后,就用git的相关命令,提交给git,让…

Mybatis面试题(三)

MyBatis 面试题 21、MyBatis 实现一对多有几种方式,怎么操作的? 有联合查询和嵌套查询。联合查询是几个表联合查询,只查询一次,通过在resultMap 里面的 collection 节点配置一对多的类就可以完成;嵌套查询是先查一个表,根据这个表里面的 结果的外键 id,…

Js-WebAPIs-事件流(三)

• 事件流与两个阶段说明 事件流指的是事件完整执行过程中的流动路径 说明:假设页面里有个div,当触发事件时,会经历两个阶段,分别是捕获阶段、冒泡阶段 简单来说:捕获阶段是 从父到子 冒泡阶段是从子到父 实际工作都是…

使用主动检索增强生成FLARE来实现更好的RAG

文章链接:https://arxiv.org/abs/2305.06983 项目代码:https://github.com/jzbjyb/FLARE 原文地址:Better RAG with Active Retrieval Augmented Generation FLARE 2023 年 11 月 18 日 欢迎深入探讨前瞻性主动检索增强生成 (FLARE)&…

对于随机生成图片接口浏览器走缓存的问题

前提场景 目前有一个api 他可以随机生成一张图片&#xff0c;我通过v-for循环一个Array渲染出来几个img 并且都调用了该接口&#xff0c;但是每个img都是一样的图片 具体代码如下 <div class"icon-group-box" v-for"item in groupList" :key"item…