使用大熊猫、海鸟创建热图的多个图像



当前,我正在尝试输出数据的图像输出。

我的原始来源是这样的:

total_dict = {"A" : {"A1" : [1, 2, 3, 4, 5], "A2" : [2, 3, 4, 5, 6]}, "B" : {"B1" : [11, 22, 13, 34, 5], "B2" : [12, 31, 42, 52, 16]},"C" : {"C1" : [12, 22, 33, 4, 5], "C2" : [42, 33, 42, 15, 6]}, "D" : {"D1" : [1, 23, 35, 4, 5], "D2" : [21, 23, 34, 5, 6]}}

现在,我尝试为每个子库创建4个热图:A、B、C和D。我的程序是:

import pandas as pd
import seaborn as sns
for sub in total_dict:
df = pd.DataFrame(total_dict[sub])
image = sns.heatmap(df, cmap="YlGnBu", linewidths = 0.1, vmax = 100)
print (image)

然而,它并没有像我预期的那样打印出4个单独的图像。最终结果是:热图_结果

你能给我建议任何方法吗?我可以使用这些方法来获得预期的4个单独的输出,并能够将它们保存在4个独立的文件中。谢谢你的帮助。

您可以定义一个新图形,绘制热图并保存图形。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
for index, sub in enumerate(total_dict):
df = pd.DataFrame(total_dict[sub])
# create a new figure
fig = plt.figure()
image = sns.heatmap(df, cmap="YlGnBu", linewidths = 0.1, vmax = 100)
fig_name = 'test_%s.png' %(index)
fig.savefig(fig_name)

最新更新