组合由seaborn生成的多个热图

假设一个数据集在 3 个变量之间具有相关性。相关性是在 2 个不同时期测量的。数据格式如下:


df1

    A   B   C

A   NaN 0.1 0.2

B   0.7 NaN 0.5

C   0.6 0.4 NaN


df2

    A   B   C

A   NaN 1   0.5

B   0.5 NaN 0.6

C   0.6 0.2 NaN

目标是生成热图。我试过这个


ax1 = sns.heatmap(df1)

ax2 = sns.heatmap(df2)

但这给了我单独的热图,如图第 1 部分所示。


因此,如这张糟糕的图表所示,在横轴上,我想按季节划分变量。我如何实现这一目标?


HUX布斯
浏览 176回答 1
1回答

烙印99

如何将两个数据帧合并为一个并应用多索引:df = df1.append(df2)#     0    1    2#A  NaN  0.1  0.2#B  0.7  NaN  0.5#C  0.6  0.4  NaN#A  NaN  1.0  0.5#B  0.5  NaN  0.6#C  0.6  0.2  NaNiterables = [['A', 'B', 'C'], ['df1', 'df2']]index = pd.MultiIndex.from_product(iterables, names=['Var', 'season'])dfm = pd.DataFrame(df.sort_index().values, index=index)#              0    1    2#Var season               #A   df1     NaN  0.1  0.2#    df2     NaN  1.0  0.5#B   df1     0.7  NaN  0.5#    df2     0.5  NaN  0.6#C   df1     0.6  0.4  NaN#    df2     0.6  0.2  NaNsns.heatmap(dfm, annot=True)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python