我需要根据数据帧列中的值是高于还是低于阈值,将它们显示为二进制颜色图。我还需要显示原始数字。
我正在使用seaborn 热图。
样本数据框
Month Raw_value
Jan 3.72
feb 2.51
Mar 1.82
...
我已将该列转换为二进制,然后仅保留索引和二进制列并从数据框中删除其他列,然后绘制为二进制。但这无助于显示实际数字(见图)。
kpi2['status'] = np.where(kpi2['raw_value'] > thres, 1,0) # convert to binary
kpi2 = kpi2.set_index('month')
kpi2.drop(['raw_value'], axis=1, inplace=True) # drop other columns
kpi_transposed = kpi2.transpose() # convert column to row for plotting horizontally
rdgn = sns.diverging_palette(h_neg=130, h_pos=10, s=99, l=55, sep=3, as_cmap=True)
sns.heatmap(kpi_transposed, linecolor='white', linewidths=1.3,vmin=0, vmax=1, cmap=rdgn, cbar=False)
plt.show()
但如果我使用原始数据列,我不确定如何将其着色为二进制。
任何想法?