如何在python中隐藏记号标签,但将记号保留在适当的位置?

如何在python中隐藏记号标签,但将记号保留在适当的位置?,python,matplotlib,axis,labels,Python,Matplotlib,Axis,Labels,我想在我创建的绘图上隐藏我的记号标签,但保留该记号本身(轴上的小标记)。例如,当我尝试使用我发现的内容时,整个勾号被删除,而不仅仅是标签。我怎样才能只删除标签呢 将记号标签设置为空字符串列表,而不是空数组。在下面的示例中,我将xtick标签替换为空字符串,而y轴保持不变。如果您愿意,您可以从这里有选择地保留某些标签 import pylab as plt fig, ax = plt.subplots() ax.plot([1,2,3],[4,5,6]) labels = [item.get_

我想在我创建的绘图上隐藏我的记号标签,但保留该记号本身(轴上的小标记)。例如,当我尝试使用我发现的内容时,整个勾号被删除,而不仅仅是标签。我怎样才能只删除标签呢

将记号标签设置为空字符串列表,而不是空数组。在下面的示例中,我将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()


此代码改编自。

这里有一个稍微简单的答案,使用

以下是Matplotlib 3中的结果输出


正如@chris所评论的,在上面的例子中,可以使用
labeltop
labelleft
labelright
,而不是
labelbottom
,来隐藏任何其他轴上的标签。我没有发现Divinex的答案对我有用。此答案在不触发任何自动标记的情况下创建记号,因此无需使用“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)

这个答案不会隐藏标签。它创建记号,保持标签不变。您可以执行以下操作:
ax.设置标签([])
,而无需初始化空字符串列表。注意:对于到达此处了解如何在其他轴上隐藏标签的人,
ax.记号参数
接受以下关键字args:
labelbottom
labeltop
labelleft
labelright
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)