使用python 的seaborn画图时遇到一个问题
def custom_annot(x):
if x == -100:
return '-'
else:
return f'{x:.2f}'
plt.figure(dpi=1000)
sns.clustermap(df.iloc[:, :], #对df进行切片操作,[:,0:4]表示切片的部分
cmap = cmap,
#ax = ax,
vmax = 12, vmin = -12,
row_cluster=True, #行方向聚类
col_cluster=False, #列方向不聚类
yticklabels=True,
figsize=(15,50),
annot=True, # 显示数值
fmt='.2f',
annot_kws={'formatter': custom_annot},
# cbar_kws = {'orientation':'vertical','shrink': 0.3},
# annot=False,
# square = True,
metric='euclidean',
method='complete',
center=0
#dendrogram_ratio=(.1, .2)
)
plt.yticks(rotation='horizontal')
plt.ylabel('')
# 设置索引值的字体
# for tick in ax.get_yticklabels():
# # tick.set_fontname('Arial')#设置格式
# for tick in ax.get_xticklabels():
# tick.set_weight('bold')
# tick.set_style('italic')
plt.show()
我希望画出的热力图可以显示数值,但是当单元格数值为-100时显示横杠,其他情况则原样输出,这样修改后无法实现。希望大家帮我看看哪里有问题