Answers:
该tick_params
方法对于这样的事情非常有用。此代码关闭主要和次要刻度线,并从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=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()
plt.tick_params(axis='both', which='both', bottom='off', top='off', labelbottom='off', right='off', left='off', labelleft='off')
axes
具有相同的tick_params
方法。
matplotlib
,您应'on'
使用True
和替换'off'
为False
。
不完全是OP的要求,但是禁用所有轴线,刻度和标签的简单方法是简单地调用:
plt.axis('off')
ax.axis('off')
在现有的axis实例上。
另外,您可以传递一个空的刻度位置并将其标记为
# 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)
ax
,然后可以使用:ax.set_xticks([], [])
ax.set_xticks([])
用于主要刻度,ax.set_xticks([], minor=True)
用于次要刻度。用等价pyplot
的plt.xticks([])
和plt.xticks([], minor=True)
。
这是我在matplotlib邮件列表中找到的替代解决方案:
import matplotlib.pylab as plt
x = range(1000)
ax = plt.axes()
ax.semilogx(x, x)
ax.xaxis.set_ticks_position('none')
有比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')
希望能有所帮助。
axins.xaxis.set_major_locator(plt.NullLocator())
,其中axins
的对象是返回的axins = zoomed_inset_axes()
(从中导入的函数mpl_toolkits.axes_grid1.inset_locator
)。
此代码片段可能仅有助于删除xtick。
from matplotlib import pyplot as plt
plt.xticks([])
此代码片段可能有助于同时删除xtick和yticks。
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')
ax.tick_params()
off
和on
。MatplotlibDeprecationWarning: Passing one of 'on', 'true', 'off', 'false' as a boolean is deprecated; use an actual boolean (True/False) instead.
那些正在寻找一个简短的命令来关闭所有刻度线和标签的人应该可以
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
ax.set_xticks([], [])
它已经解决了……