如何隐藏坐标轴和网格线

84
我想要能够在3D matplotlib图表上隐藏坐标轴和网格线。我希望这样做是因为当放大和缩小图像时,它看起来相当混乱。我不确定应该在这里包含什么代码,但这是我用来创建图表的代码。
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.view_init(30, -90)
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
plt.xlim(0,pL)
plt.ylim(0,pW)
ax.set_aspect("equal")

plt.show()

这是我正在查看的情节示例:
这是我正在查看的情节示例
2个回答

161
# Hide grid lines
ax.grid(False)

# Hide axes ticks
ax.set_xticks([])
ax.set_yticks([])
ax.set_zticks([])

请注意,set_zticks()需要matplotlib的版本不低于1.2才能正常工作。


為了避免混淆,我在這裡留個註記:如果你正在使用Pandas,例如 df.hist(...),請確保在 df_hist(...) 之後調用 ax.grid(False) - wfgeo

120

使用以下代码关闭坐标轴:

plt.axis('off')

带有网格线的:

plt.grid(b=None)

1
Nice suggestion. - Ali Motameni
@johnnyh101 如果我在使用子图时有多个轴,该怎么办?我如何应用上述方法?现在我必须循环并为每个轴设置ax[i].grid(False)。是否有适用于子图的全局命令? - A Merii
3
plt.rcParams['axes.grid'] = False会将所有图的网格线关闭。 - bbrodrigues

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接