我有一个使用matplotlib创建的3D Plot,我有一个对应于每个点的rbg值列表。
我有X,Y和Z数据,然后我有一个“颜色列表”的形式:
[ (r,g,b), (r,g,b), ... , (r,g,b) ]
以匹配每个(x,y,z)点。
现在,我有
fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')
ax.scatter(X, Y, Z)
plt.show()
什么是合适的方法来合并这些rgb元组,使每个点将被分配一个特定的颜色?
3条答案
按热度按时间of1yzvn41#
如果不想使用for循环(对于大型列表来说,这可能会非常慢),则可以像使用RGB颜色列表一样使用scatter命令,但需要将颜色指定为0到1之间的RGB(或RGBA)值的向量
rqqzpn5f2#
下面是一个例子,颜色是计算出来的,而不是由文字列表指定的。
fdx2calv3#
我使用
for
循环将每种颜色分别分配给每个点。下面是我的代码:for
循环逐点进行(因此[i]
位于每个X,Y,Z值的前面),并逐个给出颜色。我在示例中使用了十六进制颜色,但如果您愿意,也可以使用其他颜色。