2013-02-03 190 views
6

我使用Matplotlib的Axes3D来创建自定义颜色像这样的散点图:如何在Matplotlib的3D散点图中关闭透明度?

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自动添加了一些阴影,使更多的远点显得更透明/较亮的颜色比接近点。这使得很难直观地比较各个点的颜色。

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

回答

0

这实际上也是Matplotlib的二维图散点图的一个特征,这里有一个question,它有一个潜在的解决方案。

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

+1

我不确定这个问题是否解决了同样的问题,因为我只有一个绘图(并且我的颜色标准化为介于0和1之间)。唯一的问题是由matplotlib添加的人工透明度来传达深度感。 – Benno

+0

我认为[这](http://stackoverflow.com/questions/15533246/controlling-alpha-value-on-3d-scatter-plot-using-python-and-matplotlib)将回答你的问题 – kungphil