我使用plt.subplots(nrows = 2, ncols = 2)
创建了一些轴。我想让ax[1,1]
成为一个三维轴,这样我就能制作出像this这样的情节。
无论如何我可以将现有的ax对象变成3d斧头吗?
答案 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')