Matlab中的3D RGB图

时间:2015-04-06 10:36:25

标签: matlab plot

我有一个3乘4的矩阵,其中每列具有特定颜色的3个分量R,G和B.我需要将3D绘图中的每个组件绘制为单个点,如果可能的话,使用与其对应的RGB组件的颜色绘制每个点。

我尝试使用plot3函数,但是它描绘了一条连续的线条,它只有一种颜色。

例如,这是我的矩阵:

centroids = 

47    85   104   126   
37    66    86   103   
36    55    71    90

其中(47,37,36)是第一个点的RGB坐标,因此我需要将其绘制为RGB空间中的单个点并使用此特定颜色。我的想法是有一个像这样的for循环:

for i = 1:4
    plot3( centroids(1,i),centroids(2,i),centroids(3,i),'Color',centroids(:,i))
end

但它给了我一个错误,我不会尝试改变颜色,它只画一条线并且颜色相同。有没有办法将矩阵的每一列绘制为一个独立的点和RGB组件的颜色?

1 个答案:

答案 0 :(得分:2)

您应该使用scatter3功能。以下是包含数据的示例,假设它包含在名为A的数组中:

scatter3(A(1,:), A(2,:), A(3,:), 50, (A/255)', 'filled')

结果:

Result

最佳,