我有一个难以置信的热点图,但我需要删除显示为破折号的轴刻度线。我想要刻度标签,但只需要删除两个轴上每个刻度的破折号(-)。我当前的代码是:
sns.heatmap(df, annot=True, fmt='.2f', center=0)
我尝试了despine,但是没有用。
答案 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)
ax
是matplotlib.axes
对象。可以在此对象中更改所有轴参数,这是matplotlib教程中有关如何change tick parameters的示例。 both
同时选择x
和y
轴,然后将它们的length
更改为0,以使刻度不再可见。