将两个Seaborn热力图并排绘制

8

我尝试将两个 seaborn 图表并排放置,就像之前的其他图表一样(已经成功了),唯一的区别似乎是热力图出现了问题。产生错误的代码如下:

import numpy as np; np.random.seed(0)
import seaborn as sns

uniform_data = np.random.rand(10, 12)    
uniform_data2 = np.random.rand(100, 120)

fig, ax =plt.subplots(1,2)

ax = sns.heatmap(uniform_data)
ax = sns.heatmap(uniform_data2)

这将生成以下内容:

在此输入图像描述

2个回答

13

您只需使用ax参数即可

fig, (ax1, ax2) = plt.subplots(1,2)
sns.heatmap(uniform_data, ax=ax1)
sns.heatmap(uniform_data2, ax=ax2)
plt.show()

9

您使用fig, ax = plt.subplots(1,2)创建了一个坐标轴数组。然后,您正在使用sns.heatmap的结果覆盖该数组。相反,您需要使用sns.heatmapax=参数指定要绘制到哪个坐标轴:

import numpy as np; np.random.seed(0)
import seaborn as sns

uniform_data = np.random.rand(10, 12)    
uniform_data2 = np.random.rand(100, 120)

fig, ax =plt.subplots(1,2)

sns.heatmap(uniform_data, ax=ax[0])
sns.heatmap(uniform_data2, ax=ax[1])

plt.show()

这将会给出:

在此输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接