我有一个半对数图,我想去除xtick。我试着:

plt.gca().set_xticks([])
plt.xticks([])
ax.set_xticks([])

网格消失了(ok),但是小扁虱(在主要扁虱的地方)仍然存在。如何去除?


plt。Tick_params方法对于这样的东西非常有用。这段代码关闭大刻度和小刻度,并从x轴上删除标签。

注意这里还有ax。matplotlib.axes.Axes对象的tick_params。

from matplotlib import pyplot as plt
plt.plot(range(10))
plt.tick_params(
    axis='x',          # changes apply to the x-axis
    which='both',      # both major and minor ticks are affected
    bottom=False,      # ticks along the bottom edge are off
    top=False,         # ticks along the top edge are off
    labelbottom=False) # labels along the bottom edge are off
plt.show()
plt.savefig('plot')
plt.clf()


有一个比John Vinyard给出的更好、更简单的解决方案。使用NullLocator:

import matplotlib.pyplot as plt

plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')

试着去掉标签(但不是蜱虫):

import matplotlib.pyplot as plt

plt.setp( ax.get_xticklabels(), visible=False)

例子


不完全是OP要求的,但是一个简单的方法禁用所有轴、线、勾和标签是简单地调用:

plt.axis('off')

以下是我在matplotlib邮件列表中找到的一个替代解决方案:

import matplotlib.pylab as plt

x = range(1000)
ax = plt.axes()
ax.semilogx(x, x)
ax.xaxis.set_ticks_position('none') 


或者,您可以传递一个空的标记位置并将其标记为

# for matplotlib.pyplot
# ---------------------
plt.xticks([], [])
# for axis object
# ---------------
# from Anakhand May 5 at 13:08
# for major ticks
ax.set_xticks([])
# for minor ticks
ax.set_xticks([], minor=True)

这个代码片段可能只有助于删除xtick。

from matplotlib import pyplot as plt    
plt.xticks([])

这段代码可能有助于删除xtick和ytick。

from matplotlib import pyplot as plt    
plt.xticks([]),plt.yticks([])

# remove all the ticks (both axes), and tick labels on the Y axis
plt.tick_params(top='off', bottom='off', left='off', right='off', labelleft='off', labelbottom='on')

那些正在寻找一个短命令来关闭所有刻度和标签的人应该没问题

plt.tick_params(top=False, bottom=False, left=False, right=False,
                labelleft=False, labelbottom=False)

这允许类型bool为各自的参数,因为版本matplotlib>=2.1.1

对于自定义标记设置,文档是有帮助的:

https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html


通过在脚本中添加命令修改以下rc参数:

plt.rcParams['xtick.bottom'] = False
plt.rcParams['xtick.labelbottom'] = False

matplotlib文档的这一部分描述了一个示例matplotlibrc文件,它列出了许多其他参数,如更改图形大小、图形颜色、动画设置等。


这个问题的一个简单解决方案是将xtick的颜色设置为白色或任何背景色。这将隐藏xticks的文本,但不隐藏xticks本身。

import matplotlib.pyplot as plt
plt.plot()
plt.xticks(color='white')
plt.show()

结果