我使用以下代码在 matplotlib 中绘制了 3D 图形:
#Previously defines lists of data to plot...
fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')
ax.set_axis_bgcolor('black')
ax.xaxis.label.set_color('white')
ax.yaxis.label.set_color('white')
ax.zaxis.label.set_color('white')
ax.tick_params(axis='x',colors='white')
ax.tick_params(axis='y',colors='white')
ax.tick_params(axis='z',colors='white')
ax.scatter(swasp_mag1,swasp_per1,swasp_age1,edgecolor='none',c='r',marker='o',s=35,label='SWASP')
ax.scatter(hyd_mag1,hyd_per1,hyd_age1,edgecolor='none',c='y',marker='o',s=35,label='Hyades')
ax.scatter(pld_mag1,pld_per1,pld_age1,edgecolor='none',c='b',marker='o',s=35,label='Pleiades')
ax.set_xlabel('B-V [mag]')
ax.set_ylabel('Period [days]')
ax.set_zlabel('Age [Myr]')
ax.set_xlim(0.495,1.6)
ax.set_ylim(0,30)
ax.set_zlim(0,600)
ax.legend(scatterpoints=1)
plt.show()
我已将背景更改为黑色,将脊柱更改为白色(如图所示),但我想更改平面的颜色(图像中的灰色区域)。我已经研究过,但还没有找到一种方法来做到这一点。有什么方法可以改变 3D matplotlib 图中平面的颜色吗?
最佳答案
请参阅 Axes3D 的文档
您正在寻找的函数称为set_pane_color()
,它是axis3d
类的成员,因此您可以这样调用它:
ax.w_xaxis.set_pane_color((R,G,B,A))
ax.w_yaxis.set_pane_color((R,G,B,A))
ax.w_zaxis.set_pane_color((R,G,B,A))
http://matplotlib.org/mpl_toolkits/mplot3d/api.html#mpl_toolkits.mplot3d.axis3d.Axis.set_pane_color
关于python - 更改 3D 图形颜色 (matplotlib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40413871/