【动态绘图】python可视化--丝滑版

时间:2022-12-30 01:20:58
✅作者简介:在读博士,伪程序媛,人工智能领域学习者,深耕机器学习,交叉学科实践者,周更前沿文章解读,提供科研小工具,分享科研经验,欢迎交流!
????个人主页: https://blog.csdn.net/allein_STR?spm=1011.2559.3001.5343
????特色专栏:深度学习和WRF,提供人工智能方方面面小姿势,从基础到进阶,教程全面。
????联系博主:博文留言+主页底部联系方式+WeChat code: Allein_STR
????本文内容:【动态绘图】python可视化

先看一下效果图:

【动态绘图】python可视化--丝滑版

使用方法:

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()

结果图为:

【动态绘图】python可视化--丝滑版

注意点:

  1. 要制作条形数据动画,Barplot还有三个必需的参数得注意:datatime_formatip_freq(Interpolation frequency)。

  • data就是表格的数据,这里也就不再赘述。

  • time_format是指数据索引的时间日期格式,一般为:”%Y-%m-%d”。

  • ip_freq,它是制作动画中比较关键的一步,通过线性插值使动画更加流畅丝滑。

  1. 具体的插值时间间隔为多久,则要视具体的数据而定,一般绘制大数据时,设置为ip_freq = None

  1. 保存动画,有两个格式可以选择: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、人工智能、交叉学科相关知识,点击关注博主,带你从基础到进阶。若有需要提供科研指导、代码支持,资源获取或者付费咨询的伙伴们,可以添加博主个人联系方式!

码字不易,希望大家可以点赞+收藏+关注+评论!

声明:部分内容来源于网络,仅供读者学术交流之目的。文章版权归原作者所有。如有不妥,请联系删除。