如何删除seaborn热图上的轴刻度线

dee*_*ter 9 matplotlib axis-labels seaborn

我有一个 seaborn 热图,但我需要删除显示为破折号的轴刻度线。我想要刻度标签,但只需要删除两个轴上每个刻度处的破折号 (-)。我目前的代码是:

sns.heatmap(df, annot=True, fmt='.2f', center=0)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我试过绝望,但没有奏效。

spa*_*per 5

@ImportanceOfBeingEarnest 在我想添加为答案的评论中有一个很好的答案(以防评论被删除)。

对于heatmap

ax = sns.heatmap(df, annot=True, fmt='.2f', center=0)
ax.tick_params(left=False, bottom=False) ## other options are right and top
Run Code Online (Sandbox Code Playgroud)

如果这是一个clustermap(就像这里如何删除集群映射中的 x 和 y 轴标签?),您将有一个额外的调用:

g = sns.clustermap(...)
g.ax_heatmap.tick_params(left=False, bottom=False)
Run Code Online (Sandbox Code Playgroud)

对于在这里徘徊寻找删除刻度标签的相关任务的任何人,请参阅此答案(/sf/answers/1850015471/)。


Sma*_*ens 3

ax = sns.heatmap(df, annot=True, fmt='.2f', center=0)
ax.tick_params(axis='both', which='both', length=0)
Run Code Online (Sandbox Code Playgroud)

ax是一个matplotlib.axes对象。可以在此对象中更改所有轴参数,以下是 matplotlib 教程中有关如何更改刻度参数的示例。both选择xyaxis,然后将它们length更改为 0,以便刻度不再可见。