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

Yot*_*tam 36 python axis matplotlib labels

我想在我创建的绘图上隐藏我的刻度标签,但保持这个刻度本身(轴上的小标记).例如,当我尝试使用我在此处找到的内容时,整个刻度线将被删除,而不仅仅是标签.我怎样才能删除标签呢?

div*_*nex 88

这是一个稍微简单的答案,使用 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()
Run Code Online (Sandbox Code Playgroud)

  • 对于那些到达这里以了解如何在其他轴上隐藏标签的人来说,`ax.tick_params`接受以下关键字args:`labelbottom`,`labeltop`,`labelleft`,`labelright` (3认同)

Hoo*_*ked 17

将刻度标签设置为不是空数组,而是设置为空字符串列表.在下面的示例中,我用空字符串替换了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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

此代码改编自先前的答案.

  • 您可以执行“ax.set_yticklabels([])”,而无需初始化空字符串列表。 (6认同)

小智 5

我没有找到适合我的 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)
Run Code Online (Sandbox Code Playgroud)

如果没有蜱已经存在:

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)
Run Code Online (Sandbox Code Playgroud)