这个Python库可以为你的图表制作动画

198 阅读2分钟

这个Python库可以为你的图表制作动画

介绍Pandas Alive库

简介

你想创建动画图表吗?Pandas Alive可能是你的解决方案。这篇文章将告诉你如何使用Pandas Alive库来制作动画图表。整个过程只需使用一行代码就可以完成。不多说了,让我们开始吧

实施

安装库

在我们使用这个库之前,我们需要做的第一步是安装这个库。这个过程可以通过使用pip命令来完成,就像这样。

! pip install pandas_alive

数据集

对于数据集,我们使用Kaggle的gapminder数据集。Gapminder是一个数据集,包含了世界上每个国家的GDP、预期寿命和人口数量等信息,范围从1962年到2007年。更多的细节,你可以看一下这个链接 这里.

让我们通过使用下面这几行代码来加载数据。

import pandas_aliveimport pandas as pd

下面是数据的预览。

准备好数据

为了使图表更方便,我们需要对数据进行预处理。首先,我们按世界上人口最多的国家过滤数据。下面是这样做的代码。

# Input: Data -> Grouping based on country -> # Take the max value -> Sort by largest populations first -> # Output: the countries' namemost_pop = df.groupby('country').max().reset_index().sort_values('population', ascending=False).country[:10].tolist()

然后,我们使用pivot_table函数对表格进行透视,其中我们将年份列作为行索引,将人口列作为列索引。下面是代码和它的输出。

# Filter based on most populous countrydf = df[df.country.isin(most_pop)]

创建图表

有了数据后,我们可以创建动画图表。生成图表很容易。这个过程可以在一行代码中完成。

让我们以创建柱状图为例。要创建它,我们可以使用这样一行代码。

df_pivot.plot_animated('bar-chart.gif')

这就是结果。

这有多酷啊!?我们还没有完成。比方说,我们想根据人口数量的增长来创建一个折线图。下面是做这个的代码。

df_pivot.diff().fillna(0).plot_animated('line-chart.gif', kind='line')

正如你所看到的,我们通过添加kind参数对plot_animated函数进行了调整。下面是代码的结果。

现在我们来创建饼状图。我们还希望图表在数值变化时改变旋转。为了生成该图表,我们可以使用这样的代码行。

df_pivot.plot_animated('pie-chart.gif', kind='pie', rotatelabels=True)

下面是最终的结果。

最后,我想向你展示pandas alive库的一个伟大功能。我们可以同时实现多个动画图表的可视化。

我们需要做的就是创建图表,并把它们放在animate_multiple_plots函数上。下面是这样做的代码。

anim_bar = df_pivot.plot_animated()anim_line = df_pivot.diff().fillna(0).plot_animated(kind='line', period_label=False, add_legend=False)

这里是最终的结果。

最终感想

干得好!你已经学会了如何使用pandas alive库创建动画图表。我希望它能帮助你在不花很多时间编写代码的情况下生成一个伟大的图表。感谢你阅读我的文章!