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

问题描述 投票:30回答:3

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

python matplotlib axis labels
3个回答
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()

此代码改编自a previous answer


83
投票

这是一个稍微简单的答案,使用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
投票

我没有找到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)
© www.soinside.com 2019 - 2024. All rights reserved.