【发布时间】:2018-10-13 21:33:07
【问题描述】:
我有一个包含 X、Y、Z、R、G、B 值的数据框,我想使用这些信息绘制散点图,对于散点图中每个点的颜色,我需要从 R 中给出值, G,B。我尝试了以下代码,如果我给出静态颜色,比如 color = 'r',它就可以工作。但是当我试图给出如下代码所示的 RGB 值时,它会产生错误。
fig = plt.figure(figsize=(8,8))
ax = fig.add_subplot(111, projection='3d')
for i in range(size):
ax.plot(pts[:,0], pts[:,1], pts[:,2], '.', color = rgba(pts[i, 3], pts[i, 4], pts[i, 5]), markersize=8, alpha=0.5)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
如何从数据框的 R、G、B 列中给出值?
所有值都是 8 位格式。
【问题讨论】:
-
什么是RGBA?请尝试
color = (pts[i, 3], pts[i, 4], pts[i, 5]),但值应在 [0,1] 范围内。 matplotlib.org/users/colors.html -
如果有这样的功能,我只是在徘徊。
-
不,没有(虽然有 to_rgba)。您可以简单地将颜色指定为元组,例如颜色= (0.1, 0.2, 0.5)。
-
我试过了,但它仍然给我错误:'numpy.float64' 类型的对象没有 len()
标签: python matplotlib colors data-visualization