✅作者简介:在读博士,伪程序媛,人工智能领域学习者,深耕机器学习,交叉学科实践者,周更前沿文章解读,提供科研小工具,分享科研经验,欢迎交流!
📌个人主页: https://blog.csdn.net/allein_STR?spm=1011.2559.3001.5343
💯特色专栏:深度学习和WRF,提供人工智能方方面面小姿势,从基础到进阶,教程全面。
📞联系博主:博文留言+主页底部联系方式+WeChat code: Allein_STR
📙本文内容:【动态绘图】python可视化
先看一下效果图:
![](https://i-blog.csdnimg.cn/blog_migrate/ddb12565350a612679b0781b75ab4a53.gif)
使用方法:
import pynimate as nim
输入数据后,Pynimate将使用函数Barplot()来创建条形数据动画
输入的数据必须是pandas数据结构(如下),其中将时间列设置为索引,换句话说索引代表的是自变量。
time | col1 | col2 | col3 |
2012 | 1 | 2 | 1 |
2013 | 1 | 1 | 2 |
2014 | 2 | 1.5 | 3 |
2015 | 2.5 | 2 | 3.5 |
例子代码:
from matplotlib import pyplot as plt
import pandas as pd
import pynimate as nim
df = pd.DataFrame(
{
"time": ["1960-01-01", "1961-01-01", "1962-01-01"],
"Afghanistan": [1, 2, 3],
"Angola": [2, 3, 4],
"Albania": [1, 2, 5],
"USA": [5, 3, 4],
"Argentina": [1, 4, 5],
}
).set_index("time")
cnv = nim.Canvas()
bar = nim.Barplot(df, "%Y-%m-%d", "2d")
bar.set_time(callback=lambda i, datafier: datafier.data.index[i].strftime("%b, %Y"))
cnv.add_plot(bar)
cnv.animate()
plt.show()
结果图为:
![](https://i-blog.csdnimg.cn/blog_migrate/64eca2508507c73cbe300560c00c15ed.gif)
注意点:
要制作条形数据动画,Barplot还有三个必需的参数得注意:data、time_format和ip_freq(Interpolation frequency)。
data就是表格的数据,这里也就不再赘述。
time_format是指数据索引的时间日期格式,一般为:”%Y-%m-%d”。
ip_freq,它是制作动画中比较关键的一步,通过线性插值使动画更加流畅丝滑。
具体的插值时间间隔为多久,则要视具体的数据而定,一般绘制大数据时,设置为ip_freq = None。
保存动画,有两个格式可以选择:gif或者mp4。
保存为动图一般使用:
cnv.save("file", 24, "gif")
若要保存为mp4的话,ffmpeg是个不错的选择,它是保存为mp4的标准编写器。
pip install ffmpeg-python
或者
conda install ffmpeg
也可以使用Canvas.save()来保存。
cnv.save("file", 24 ,"mp4")
END
本篇到这里就结束了。想学习更多Python、人工智能、交叉学科相关知识,点击关注博主,带你从基础到进阶。若有需要提供科研指导、代码支持,资源获取或者付费咨询的伙伴们,可以添加博主个人联系方式!
码字不易,希望大家可以点赞+收藏+关注+评论!
声明:部分内容来源于网络,仅供读者学术交流之目的。文章版权归原作者所有。如有不妥,请联系删除。