python - 更改 3D 图形颜色 (matplotlib)

标签 python matplotlib graph 3d

我使用以下代码在 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()

当我运行这个程序时,我得到以下结果: enter image description here

我已将背景更改为黑色,将脊柱更改为白色(如图所示),但我想更改平面的颜色(图像中的灰色区域)。我已经研究过,但还没有找到一种方法来做到这一点。有什么方法可以改变 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/

相关文章:

python - Pandas 在数据框中组合稀疏列

python - 为什么我的凯撒密码只打印字符串的最后一个字母? Python

python - 我的 matplotlib ArtistAnimation 做错了什么?

python - Seaborn 热图 - 颜色条标签字体大小

python - matplotlib.pyplot : add horizontal line to sub-plot

python - 连接 Numpy 数组而不复制

python - Mac 操作系统 : How do I run a multi-line script on command line?

javascript - 递归函数中的参数会以某种方式改变自身

javascript - GunDB SEA 让其他用户写入用户空间

java - 如何在数据库中实现 Facebook 好友模块?