首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Pandas DataFrames字典的动画热图

来自Pandas DataFrames字典的动画热图
EN

Stack Overflow用户
提问于 2020-01-05 22:20:19
回答 1查看 433关注 0票数 0

我想从一组DataFrames (例如,保存在字典中)绘制一个动画热图,可以是gif格式,也可以是电影格式。

例如,假设我有以下DFs集合。我可以一个接一个地展示它们。但我希望它们都以GIF显示的相同方式显示在同一张图中(热图的循环)。

代码语言:javascript
复制
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

dataframe_collection = {}

for i in range(5):
    dataframe_collection[i] = pd.DataFrame(np.random.random((5,5)))

    # Here within the same loop just for brevity
    sns.heatmap(dataframe_collection[i])
    plt.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 00:59:32

最简单的方法是首先创建单独的png图像,然后使用ImageMagick等软件将其转换为动画gif。

创建png的示例:

代码语言:javascript
复制
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

dataframe_collection = {}
for i in range(5):
    dataframe_collection[i] = pd.DataFrame(np.random.random((5,5)))
    #plt.pcolor(dataframe_collection[i])
    sns.heatmap(dataframe_collection[i])
    plt.gca().set_ylim(0, len(dataframe_collection[i])) #avoiding problem with axes
    plt.axis('off')
    plt.tight_layout()
    plt.savefig(f'dataframe_{i}.png')

在安装ImageMagick之后,下面的外壳命令创建一个gif。如果默认设置不能令人满意,可以使用docs来探索许多选项。

convert.exe -delay 20 -loop 0 dataframe_*.png dataframes.gif

另请参阅this post关于在matplotlib中创建动画和动画gif。

请注意,Seaborn的热图还具有一些功能,如sns.heatmap(dataframe_collection[i], annot=True)

如果您不能使用ImageMagick,您可以通过快速显示单个png文件来显示视频,模拟视频。Thisthis post包含更多解释和示例代码。特别是this answer的第二部分看起来很有前途。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59600776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档