删除matplotlib图中的xticks?

我有一个semilogx情节,我想删除xticks。 我试过了:

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

网格消失(好),但小蜱(在主蜱的地方)仍然存在。 如何删除它们?

tick_params方法对于这样的东西非常有用。 此代码closures主要和次要的滴答,并从x轴删除标签。

 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='off', # ticks along the bottom edge are off top='off', # ticks along the top edge are off labelbottom='off') # labels along the bottom edge are off plt.show() plt.savefig('plot') plt.clf() 

在这里输入图像说明

不是OP所要求的,但是一个简单的方法来禁用所有的轴线,刻度和标签就是简单地调用:

 plt.axis('off') 

有一个比John Vinyard给出的更好,更简单的解决scheme。 使用NullLocator

 import matplotlib.pyplot as plt plt.plot(range(10)) plt.gca().xaxis.set_major_locator(plt.NullLocator()) plt.show() plt.savefig('plot') 

希望有所帮助。

以下是我在matplotlib邮件列表中find的另一种解决scheme:

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

图形

或者,您可以传递一个空的勾号位置和标签

 plt.xticks([], []) 

试试这个删除标签(但不是滴答):

 import matplotlib.pyplot as plt plt.setp( ax.get_xticklabels(), visible=False)