11

我正在使用 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)

这很好用,但是 matplotlib 会自动添加一些阴影,以使更远的点看起来更透明/比更近的点颜色更浅。这使得在视觉上比较各个点的颜色变得非常困难。

有什么办法可以关闭它吗?

4

3 回答 3

4

您需要depthshade=False在 scatter 函数中添加为参数。

ax.scatter(xval, yval, zval, c=cval, cmap=plt.cm.gray, depthshade=False)

Matplotlib 3D 教程

于 2019-11-15T15:28:02.373 回答
1

只需alpha = 1在 scatter 函数中添加作为参数。

ax.scatter(xval, yval, zval, c=cval, alpha = 1, cmap=plt.cm.gray)

于 2018-09-21T08:24:58.000 回答
0

这实际上也是 Matplotlib 的 2d 散点图的一个特性,这里有一个问题,有一个潜在的解决方案。

Scatter的输入是实际需要配置的。

于 2013-02-03T18:40:49.500 回答