RGB立方体的图像

时间:2013-05-14 19:58:38

标签: python matplotlib plot rgb cube

我正在尝试使用python中的matplotlib创建图像的RGB立方体。我有一个python列表,其中包含格式为[(2,152,255),(0,0,0)...]的所有像素的RGB。我用散射函数绘制所有点,但我不知道如何用它各自的RGB颜色绘制每个RGB点。

我尝试过这样的事情ax.scatter(paleta[0],paleta[1],paleta[2],c = RGBlist),但函数需要一个RGBa值......

我希望像这样的somthig:

enter image description here

代码:

paleta=zip(*RGBlist) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.scatter(paleta[0],paleta[1],paleta[2]) ax.grid(False) ax.set_title('grid on') plt.savefig('Images\\RGBcube.png')

2 个答案:

答案 0 :(得分:1)

尝试将RGB值缩放到[0,1]范围:

ax.scatter(paleta[0],paleta[1],paleta[2], c=[(r[0] / 255., r[1] / 255., r[2] / 255.) for r in RGBlist])

这适用于以下示例:

import random
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d, Axes3D

RGBlist = [(random.randint(0,255), random.randint(0,255), random.randint(0,255)) for i in range(100)]
paleta=zip(*RGBlist)
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(paleta[0],paleta[1],paleta[2], c=[(r[0] / 255., r[1] / 255., r[2] / 255.) for r in RGBlist])
ax.grid(False)
ax.set_title('grid on')
plt.savefig('blah.png')

给出输出:

enter image description here

答案 1 :(得分:0)

scatter函数中设置color属性:

  

color - matplotlib颜色arg或rgba元组序列