无法从pyplot子图中删除yticks

时间:2018-08-21 23:56:35

标签: python matplotlib

我使用matplotlib.pyplot创建了一个子图。即使我使用以下方法将刻度标签设置为空:

plt.xticks([ ])
plt.yticks([ ])

如何删除这些?我是Python的新手,在此方面的任何帮助都将受到赞赏。

The example in the docs

2 个答案:

答案 0 :(得分:0)

您可以使用plt.tick_params选项微调您的绘图:

plt.tick_params(axis='both', which='both', right=False, left=False, top=False, bottom=False)

答案 1 :(得分:0)

您的图形中包含许多子图。您需要删除每个子图的每个轴对象中的刻度(或者至少要删除想要显示的刻度)。可以这样做:

import matplotlib.pyplot as plt

ax1 = plt.subplot(321)  # 1st subplot in 3-by-2 grid
ax1.plot(...)  # draw what you want
ax1.set_xticks([], [])  # note you need two lists one for the positions and one for the labels
ax1.set_yticks([], [])  # same for y ticks

ax2 = plt.subplot(321)  # 2nd subplot in the same grid
# do the same thing for any subplot you want the ticks removed

如果要删除整个轴(边界,刻度和标签),可以执行以下操作:

ax1.axis('off')

但是我建议您键入plt.tight_layout()。它可能会解决您的问题,而无需您删除刻度线。