我一直在处理这个细节已经有一段时间了,必须有一个简单的解决方案。我试图绘制一个seaborn热图,即 其中a是某个矩阵。
g=sns.heatmap(a).
这很好用,但我根本不想要x和y标签,我只想标记特定值,例如x刻度:
for label in g.ax_heatmap.xaxis.get_majorticklabels():
if label.get_text() in to_mark:
label.set_size(10)
label.set_weight("bold")
label.set_color("red")
label.set_text("I do not work")
问题发生在最后一行,例如,我尝试将标签从当前较长的名称重命名为“”。我的问题是,为什么label.set_text(“”)不能胜任这项工作?什么是可能的替代方案。
谢谢!
编辑:
“工作”示例
df = pd.DataFrame.from_dict(midframe)
cmap1 = sns.cubehelix_palette(as_cmap=True, rot=-.3, light=1)
g = sns.clustermap(a,cmap=cmap1,xticklabels=True,yticklabels=False)
top = [str(x) for x in range(0,10)]
for label in g.ax_heatmap.xaxis.get_majorticklabels():
if label.get_text() in top:
label.set_size(10)
label.set_weight("bold")
label.set_color("red")
plt.show()