如何在python中隐藏ticks标签但是保持ticks到位?

时间:2014-01-05 17:22:27

标签: python matplotlib axis labels

我想在我创建的地块上隐藏我的刻度标签,但保持这个刻度本身(轴上的小标记)。例如,当我尝试使用我发现的here时,整个刻度线将被删除,而不仅仅是标签。我怎样才能删除标签呢?

3 个答案:

答案 0 :(得分:82)

使用ax.tick_params

,这是一个稍微简单的答案
import matplotlib.pylab as plt

fig, ax = plt.subplots()
plt.plot([1,2,3],[4,5,6])

ax.tick_params(labelbottom=False)    

plt.show()

答案 1 :(得分:14)

将刻度标签设置为不是空数组,而是设置为空字符串列表。在下面的示例中,我用空字符串替换了xtick标签,使y轴保持不变。如果您愿意,可以从这里选择性地保留某些标签。

import pylab as plt

fig, ax = plt.subplots()
ax.plot([1,2,3],[4,5,6])

labels = [item.get_text() for item in ax.get_xticklabels()]

empty_string_labels = ['']*len(labels)
ax.set_xticklabels(empty_string_labels)

plt.show()

enter image description here

此代码改编自a previous answer

答案 2 :(得分:1)

我没有找到Divenex为我工作的答案。此答案在不触发任何自动标记的情况下创建了刻度线,因此无需使用“ labelbottom = False”:

如果底部和左侧刻度已经存在:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
plt.plot([1,2,3],[4,5,6])

ax.tick_params(right= True,top= True)

如果没有刻度线:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
plt.plot([1,2,3],[4,5,6])

ax.tick_params(right= True,top= True,left= True, bottom= True)