【发布时间】:2021-01-03 04:43:58
【问题描述】:
我正在尝试创建一个热图来显示客户使用报告的次数之间的关系,使用计数列作为热图中的值客户可以根据需要多次使用多个模板。我的数据框看起来像这样(原始数据框有 638 行,出于隐私目的,我创建了虚拟数据来隐藏原始数据):
print(df)
Customer Report Count
1 XIAA Report_A 198
2 XIAA Report_C 1
3 BKAN Bespoke 65
4 JAJS Report_A 3
5 HNUA Report_F 436
6 NOAO Bespoke 12
7 RQNJ Report_G 53
8 MJAS Report_A 9
9 PGBC Report_Y 155
为了绘制热图,我使用了以下函数:
heatmap1_data = pd.pivot_table(df, values='Count',
index=['Customer'],
columns='Report')
plt.subplots(figsize=(25, 30))
sns.heatmap(heatmap1_data, cmap="Blues",vmin=0, vmax=2)
我的热图是这样返回的(出于隐私目的,我已在轴中裁剪了名称):
由于我的数据框中计数的变化,热图看起来过于分离,这导致数据透视表有许多“0”值来显示某些客户未使用哪些报告。有没有办法对此进行排序,以便在热图中同时显示最高的相关性,而不是非常分开?
【问题讨论】:
-
对于您已删除的问题,更新标题:
g = sns.catplot(..., col='Parent?'); for col_name, ax in g.axes_dict.items(): ax.set_title(col_name)
标签: python pandas seaborn jupyter heatmap