如何在Matplotlib的3D散点图中关闭透明度?

Ben*_*nno 9 python matplotlib

我正在使用Matplotlib的Axes3D创建一个自定义颜色的散点图,如下所示:

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt

fig = plt.figure(1)
ax = Axes3D(fig)
ax.scatter(xval, yval, zval, c=cval, cmap=plt.cm.gray)
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但matplotlib会自动添加一些阴影,使更远的点看起来更透明/比较近点更浅.这使得在视觉上比较各个点的颜色非常困难.

有什么办法可以解决这个问题吗?

And*_*rea 5

您需要depthshade=False在分散函数中添加作为参数。

ax.scatter(xval, yval, zval, c=cval, cmap=plt.cm.gray, depthshade=False)
Run Code Online (Sandbox Code Playgroud)

Matplotlib 3D 教程