Kalanit
Kalanit

Reputation: 875

How to move labels from bottom to top without adding "ticks"

How can I position xlabel on top of the plot using something else than "tick_top" - that adds a tick to the x label, and I don't want it.

xlabel on the bottom with no tick: enter image description here

code:

import numpy as np; np.random.seed(0)
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data, vmin=0, vmax=1)
plt.yticks(rotation=0)
plt.show()

xlabel on top but with tick: enter image description here

code:

import numpy as np; np.random.seed(0)
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data, vmin=0, vmax=1)
plt.yticks(rotation=0)
ax.xaxis.tick_top() # x axis on top
ax.xaxis.set_label_position('top')
plt.show()

Upvotes: 27

Views: 26950

Answers (2)

Frozhen
Frozhen

Reputation: 391

Try this:

plt.tick_params(axis='both', which='major', labelsize=10, labelbottom = False, bottom=False, top = False, labeltop=True)

the parameter top=False means no ticks. :)

Upvotes: 29

Kalanit
Kalanit

Reputation: 875

Ok finally found.

Needs a

ax.tick_params(length=0)

Upvotes: 7

Related Questions