我可以将现有的ax对象变成3d投影吗?

时间:2016-02-04 19:06:39

标签: python matplotlib

我使用plt.subplots(nrows = 2, ncols = 2)创建了一些轴。我想让ax[1,1]成为一个三维轴,这样我就能制作出像this这样的情节。

无论如何我可以将现有的ax对象变成3d斧头吗?

1 个答案:

答案 0 :(得分:2)

不,因为3D轴是matplotlib.axes._subplots.Axes3DSubplot个对象,而常规轴是matplotlib.axes._subplots.AxesSubplot个对象。

因此,它不仅仅是更改现有对象的一个​​属性的情况,因为它是add_subplot(projection='3d')时创建的完全不同的对象。

我认为您必须明确创建子图,例如:

fig=plt.figure()
ax1=fig.add_subplot(2,2,1)
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4,projection='3d')

或者,移除2D轴并将其作为3D轴重新添加:

fig,ax = plt.subplots(nrows = 2, ncols = 2)
ax[1,1].remove()
ax[1,1]=fig.add_subplot(2,2,4,projection='3d')