5行代码生成自动排序动图

1、引言2、代码实战2.1 pynimate介绍2.2 pynimate安装2.3 代码示例

3、总结

1、引言

小屌丝:鱼哥,听说你的excel段位又提升了? 小鱼:你这是疑问的语气? 小屌丝:没有~ 吧… 小鱼:是没有,没有没有吧? 小屌丝:这… 正好我有一个难点,想请教你。 小鱼:那你说吧。 小屌丝:你制作一个动态排序图吗? 小鱼:这有何难,内容是啥,样式是啥? 小屌丝:就是这样的。

小鱼:就这?? 小屌丝:嗯呢,就这。 小鱼:这有何难, 分分钟的事。

小屌丝:鱼哥,那看你的了。

2、代码实战

2.1 pynimate介绍

说到排序动图的制作, 我们第一反应就是 Excel 或者PPT。 因为这Excel的功能太强大,而且普及率非常高。

但是,今天,我们不用Excel来制作动态排序图, 而是用 python的一个很奈斯的库:pynimate。

可以说,pynimate就是为了动态可视化而生了。

小屌丝:这话说的,貌似没毛病。

只要区区几行代码,就可以实现上图中动态排序的效果。

小屌丝:听这话,应该很简单的样子。

2.2 pynimate安装

涉及到第三方库,肯定就需要安装 老规矩,pip 安装

pip install pynimate

然后就是等待着安装。

其它安装方式,直接看这两篇:

《Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!》《Python3:我低调的只用一行代码,就导入Python所有库!》

2.3 代码示例

代码展示

# -*- coding:utf-8 -*-

# @Time : 2023-02-12

# @Author : Carl_DJ

'''

实现功能:

pynimate 实现动态排序图

'''

import pynimate as nim

import pandas as pd

from matplotlib import pylab as plt

#设置数据(只是假数据,不代表实际情况)

data = pd.DataFrame(

{

"time": ["1998-01-01", "1999-01-01", "2000-01-01"],

"changsha": [1, 2, 3],

"wuhan": [2, 3, 4],

"guangzhou": [1, 2, 5],

"shanghai": [5, 3, 4],

"beijing": [1, 4, 5],

}

).set_index('time')

cnv = nim.Canvas()

bar = nim.Barplot(data, "%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()

#保存为gif格式

cnv.save("demo", 24, "gif")

运行效果

3、总结

看到这里,今天的分享差不多就该结束了。 小屌丝:鱼哥,这可以啊。比excel简单的太多了。 小鱼:低调低调,我一般也不随便展示实力。

我是小鱼:

CSDN 博客专家;阿里云 专家博主;51CTO 博客专家;51认证讲师;金牌面试官&面试培训师;

关注我,带你学习更多更有趣的Python知识。

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: