import matplotlib.pyplot as plt
import numpy as np
ncols = 5
nrows = 3
# create the plots
fig = plt.figure()
axes = [ fig.add_subplot(nrows, ncols, r * ncols + c) for r in range(0, nrows) for c in range(0, ncols) ]
# add some data
for ax in axes:
ax.plot(np.random.random(10), np.random.random(10), '.')
# remove the x and y ticks
for ax in axes:
ax.set_xticks([])
ax.set_yticks([])
# do some plotting...
plt.subplot(121),plt.imshow(image1)
plt.subplot(122),plt.imshow(image2)
# ....
# one liner to remove *all axes in all subplots*
plt.setp(plt.gcf().get_axes(), xticks=[], yticks=[]);
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)
ax1.plot([1,2])
ax1.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.draw()
5条答案
按热度按时间gjmwrych1#
你有正确的方法。也许您没有将
set_xticks
应用到正确的轴。举个例子:
这给出:
请注意,每个轴示例都存储在一个列表(
axes
)中,因此可以轻松地对其进行操作。像往常一样,有几种方法可以做到这一点,这只是一个例子。qltillow2#
甚至比@DrV的回答更简洁,重新混合@mwaskom的评论,一个完整的和总的一行字来摆脱所有子情节中的所有轴:
注意:必须在调用
plt.show()
之前调用此函数yizd12fk3#
子图的命令相同
htrmnn0y4#
您可以通过简单地运行以下代码来摆脱默认的子图x和y刻度:
只需在
fig, ax = plt.subplots()
后面添加上述两行,即可删除默认刻度。jjjwad0x5#
可以通过以下方式删除xtick或ytick
如果你也想关闭脊椎,所以根本没有轴,你可以用途:
如果你想一次关闭所有的东西,用途: