如何隐藏matplotlib 3d中的坐标轴?
问题描述:
如何在不显示轴的情况下制作3D绘图?如何隐藏matplotlib 3d中的坐标轴?
绘制三维图时,Matplotlib不仅绘制x,y和z轴,还绘制x-y,y-z和x-z平面上的浅灰色网格。我想画一个“自由浮动”的3D情节,没有任何这些元素。
的东西,我已经试过:
# Doesn't work; this hides the plot, not the axes
my_3d_axes.set_visible(False)
# Doesn't do anything. Also, there's no get_zaxis() function.
my_3d_axes.get_xaxis().set_visible(False)
my_3d_axes.get_yaxis().set_visible(False)
答
本根提供修复此为1.0.1补丁。它可以作为最后一封电子邮件this thread的附件。引用本:
好吧,看起来像隐藏的3D轴是v1.0发布后添加的功能(但在我开始mplot3d工作之前)。这个补丁应该启用基本功能而不会干扰现有的功能。要隐藏坐标轴,你就必须设置私有成员 “_axis3don” 为False,像这样:
AX = plt.gca(投影= '3D') ax._axis3don =假
如果您这样做,然后你会得到你想要的东西,当你升级时你的代码仍然与mplot3d兼容(尽管首选的方法是调用set_axis_on()或set_axis_off())。
我希望有帮助!
奔根
+20
现在支持'ax.set_axis_off()'和'set_axis_on()'(1.4.1) – user989762
你试过用什么来工作。不幸的是,我不确定有什么方法可以轻松地做到这一点,希望仍然存在! –
@Joe Klington:出于好奇,我曾尝试过的两件事中的哪一件?我想知道,因为第一个,axes.set_visible(),有以下帮助描述:“设置艺术家的可见性。”所以它似乎总是应该设置图形的可见性,而不是坐标轴。至于第二个,它是如何工作的,什么时候没有get_zaxis()方法? – SuperElectric
如果我记得正确的话,它是'my_3d_axes.set_visible(False)'用来工作的。 (这实际上是相反的直觉,它隐藏了2D图的整个绘图,这就是为什么他们将它改变为3D绘图相同的原因。) –