Stefan Falk
Stefan Falk

Reputation: 25397

How to remove x and y axis labels in a clustermap?

I am creating a plot based on a DataFrame:

cg = sns.clustermap(df_correlations.T)

The problem is that the x and y axis have unwanted labels in it which come from a hierarchical index. Thus I want to try and remove those labels e.g. like this:

ax = cg.fig.gca()
ax.set_xlabel('')
ax.set_ylabel('')

But this has no effect. How can I remove the labels on the x and y axis?

Upvotes: 8

Views: 13547

Answers (3)

YGao
YGao

Reputation: 99

Turn off xticklabel, and yticklabel will address your problem.

sns.clustermap(df,yticklabels=False,xticklabels=False)

Upvotes: 10

Odin
Odin

Reputation: 2049

try plt.axis('off'), it may solve your problem.

Upvotes: 1

ImportanceOfBeingErnest
ImportanceOfBeingErnest

Reputation: 339340

Without a mcve of the issue it's hard to know where the labels come from (I don't know how the dataframe needs to look like such that labels are produced, because by default there should not be any labels.) However, the labels can be set - and therefore also set to an empty string - using the known methods .set_xlabel and .set_ylabel of the heatmap axes of the cluster grid.

So if g is a ClusterGrid instance,

g = sns.clustermap(...)

you can get the heatmap axes via

ax = g.ax_heatmap

and then use any method you like to manipulate this matplotlib axes.

ax.set_xlabel("My Label")
ax.set_ylabel("")

Upvotes: 14

Related Questions