问题标签 [matplotlib-animation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
20 浏览

python - 如何设置 matplotlib 图表比例,使其不会随着线条的增长而改变?

当我运行这个 Python 程序时,x 和 y 轴的比例会随着绘制更多数据而调整。是否可以设置创建图表的比例并且在执行期间不改变?我试过了plt.xlim(0, 30)plt.ylim(0, 1050)但没有任何区别。

0 投票
2 回答
278 浏览

python - matplotlib FuncAnimation - 确保图例和情节线具有相同的颜色?

考虑一个具有多列的 Pandas 数据框,每列一个国家名称,多行,每行一个日期。这些单元格是有关国家/地区的数据,这些数据会随时间变化。这是 CSV:

https://pastebin.com/bJbDz7ei

我想在 Jupyter 中制作一个动态图(动画),显示数据如何随时间演变。在世界上所有国家中,我只想展示在任何给定时间排名前 10 的国家。因此图中显示的国家/地区可能会不时发生变化(因为前 10 名正在演变)。

我还想在颜色方面保持一致性。任何时候只显示10个国家,有些国家几乎连续出现和消失,但任何国家的颜色在整个动画中都不应该改变。任何国家的颜色都应该从头到尾坚持下去。

这是我拥有的代码(编辑:现在您可以将代码复制/粘贴到 Jupyter 中,它开箱即用,因此您可以轻松看到我正在谈论的错误):

它完成了这项工作 - 有点。我将排名靠前的国家存储在冠军列表中,并根据每个国家在冠军中的索引分配颜色。但是根据 champs 中的索引,仅正确分配了绘制线的颜色。

传说中的颜色是固定分配的,传说中的第一个国家总是得到相同的颜色,传说中的第二个国家总是得到某种颜色,等等,基本上每个国家的颜色在整个动画中都是不同的当国家在传说中上下移动时。

绘制线条的颜色遵循 champs 中的索引。图例中国家的颜色基于图例中的顺序。这不是我想要的。

如何以与情节线相匹配的方式为图例中的每个国家/地区分配颜色?

0 投票
1 回答
128 浏览

python - Matplotlib 动画保存方法返回创建具有意外帧数的静态图像

尝试使用 matplotlib 的动画模块来创建网格变化的动画。使用的库。

使用 geopandas 创建网格(可以使用grid.plot(edgecolor = 'white')命令查看网格的完整图像):

动画每个多边形的外观的功能:

当我运行以下代码时,Jupyter Notebook 中会以我预期的方式(或多或少)显示动画:

一个接一个的多边形出现在图上。但是,当我尝试使用 保存视频时a.save(r'C:\Users\fasbo\k.mp4'),matplotlib 会创建具有惊人数量的记录/捕获帧的静态图像。

0 投票
0 回答
312 浏览

python - 制作实时处理数据的动画时间序列图

我正在尝试绘制一些在 4 分钟内收集的心率数据。理想的图表将是随数据实时移动的心率动画(即 4 分钟的动画图表)。数据看起来像这样:

我从这篇非常有用的文章 ( https://towardsdatascience.com/dynamic-replay-of-time-series-data-819e27212b4b ) 中尝试的原始代码设法制作了一个无法跨越所需 4 的动态时间序列图分钟。如您所见,当设备收集 HR 数据时存在不一致的失误,因此原始解决方案并不理想。(下面的原始解决方案)。理想情况下,我想避免估算缺失的时间值。

谢谢你的时间!

0 投票
1 回答
88 浏览

python - 添加新艺术家时,Matplotlib FuncAnimation 框架未渲染

我在 Matplotlib 中制作动画,每隔几帧就会添加新的艺术家(特别是补丁),但是当我运行它时,添加新艺术家的每一帧都是完全空白的。我知道 blitting 存在一些问题,因为当我关闭它时它可以工作,但我需要它。我返回每个帧中创建或修改的每个形状,就像文档要求的那样。我正在使用 MacOSX 后端。

我的代码与此类似:

0 投票
1 回答
791 浏览

python - 如何使用 Python 显示实时数据

我想在 Python 3 项目中显示股票价格和平均值的时间序列数据。

数据当前存储在一个定期更新的 CSV 文件中,我的解释器是 Anaconda。

我试过使用

Matplotlib.animation.FuncAnimation()

然而,图形窗口弹出没有任何轴然后无法响应并 crashe

这是我在项目中的图表类

注意*

我遇到的另一个问题是我需要在我的 anaconda 目录中设置一个指向 /library/plugins 的环境 PATH 变量,这解决了收到此错误消息的问题:

此应用程序无法启动,因为它无法在“”中找到或加载 qt 平台插件“windows”。

但是,一旦 id 喜欢使用任何其他需要 PyQt 的程序,就需要将其删除

*编辑*

我已经根据响应更改了代码,但还没有让绘图连续加载和显示数据。

键盘中断程序后出现以下错误:

ValueError:无法将字符串转换为浮点数:'2020-05-21T17:04:13.645Z'

也:

RuntimeError:动画函数必须返回一系列 Artist 对象。

0 投票
0 回答
34 浏览

python-3.x - 加速使用 imshow 的 matplotlib 动画

我想创建一个图,其中有 32x32 图像以一种马赛克形状彼此相邻平铺。这些图像是 (16, 16, 4) RGBA 阵列。我目前的代码是这样的 -

逻辑对我来说看起来足够好,但它非常慢。我不确定要使用什么优化。我想过使用 zeros 数组,然后将数据屏蔽为 call update。但这甚至更慢。

我的想法不多了。我可以尝试什么来加快这个过程?

0 投票
2 回答
697 浏览

python - 如何在 Python 3 中为动画函数分配变量 fig

我想制作多个情节的动画,其渲染随着时间的推移而演变。

我需要的文件采用以下格式,例如一个:

DD0043/DD0043. 所以我使用技巧:f'{43:04}'填充每个文件的前导零(文件DD0000/DD0000DD0922/DD0922.

这里的脚本,警告,情节是用yt-project工具完成的:

但在执行时,我收到以下错误:

我不知道我是否正确地做事,特别是对于fig我初始化的变量:

实际上,我正在尝试适应我的情况这个创建电影的脚本:

制作动画

IE :

更新1:我没有找到animation.save正确使用来生成动画的方法:总是关于fig变量的这个问题。

但我设法生成了与每个输出文件对应的所有图像DDxxxx/DDxxxx。我是这样进行的:

如果我打开一个.png,我会得到一个代表 3D 场景的正确图像。

不幸的是,动画功能不起作用,我只得到一个显示投影密度的 2D 热图:我想获得 3D 场景人物的动画(rendering_xxx.png)。

似乎我必须使用ffmpeg从多个.png图像生成这个动画,除非我找到一种方法来知道如何使用 PythonFuncAnimation函数(包含在yt库中?或默认情况下在 Python 中?)。

更新2:这里是我想要获得的动画图(实际上是一帧)示例(这是一个表示盒子内气体密度的图,即3D):

代表 3D 场景的图形

不幸的是,@NightTrain 的脚本产生了这种情节:

NightTrain 的结果:2D 热图图

如您所见,我不明白为什么我使用 NightTrain 的解决方案而不是 3D 场景得到 2D 热图。

此外,此 2D 热图中没有动画,电影始终显示相同的图形。

UPDATE3: @Night train 建议的最后一个解决方案会产生以下错误:

我不明白为什么会发生此错误。

0 投票
1 回答
99 浏览

python - 全局图的动态可视化

我制作了 17 个全球图,显示了 1850 年至 2015 年最大地表臭氧的年代际平均值。我不想单独绘制它们,而是希望创建一个循环播放它们的动画(几乎像 gif 一样),即始终具有相同的海岸线、轴和颜色条,但将绘制的轮廓更改为轮廓。

任何有关如何调整我的代码以执行此操作的帮助将不胜感激 - 提前谢谢您!

0 投票
1 回答
663 浏览

python - 如何从数据框的列创建动画折线图?

我调用了这个数据框vars,我正在尝试绘制一个动画折线图,每一列都是一条线(日期列除外,它将是 x 轴)。

这是我正在使用的代码:

我需要遍历数据框,因为无论列数如何,代码都必须工作。

这是我要去的: 在此处输入图像描述

它绘制上面的图像(没有线条),然后引发以下错误:

AttributeError: 'list' object has no attribute 'set_data'

我对动画有点缺乏经验,所以任何帮助都将不胜感激。谁能看到我做错了什么?

[编辑]

我正在寻找这样的动画:

在此处输入图像描述

但是每列都有一行。而且我不知道如何用多条线构建这样的动画图表。

我知道我必须使用FuncAnimationfrommatplotlib.animation但我遇到了问题。

我从这篇 Towards Data Science 帖子中得到了这个字符。