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

时间:2019-04-04 02:20:01

标签: matplotlib seaborn axis-labels

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

sns.heatmap(df, annot=True, fmt='.2f', center=0)

enter image description here

我尝试了despine,但是没有用。

2 个答案:

答案 0 :(得分:3)

@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

如果这不是clustermap(例如这里How to remove x and y axis labels in a clustermap?),则您会额外拨打电话:

g = sns.clustermap(...)
g.ax_heatmap.tick_params(left=False, bottom=False)

对于在这里徘徊并寻找删除刻度标签的相关任务的任何人,请参阅此答案(https://stackoverflow.com/a/26428792/3407933)。

答案 1 :(得分:0)

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

axmatplotlib.axes对象。可以在此对象中更改所有轴参数,这是matplotlib教程中有关如何change tick parameters的示例。 both同时选择xy轴,然后将它们的length更改为0,以使刻度不再可见。