【问题标题】:3D RGB plot in MatlabMatlab中的3D RGB图
【发布时间】:2015-06-10 18:01:16
【问题描述】:

我有一个 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 分量的颜色?

【问题讨论】:

    标签: matlab plot


    【解决方案1】:

    您应该改用scatter3 函数。这是一个包含您的数据的示例,假设它包含在一个名为 A 的数组中:

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

    结果:

    最好的,

    【讨论】:

    • 正是我需要的,谢谢!有没有办法让积分变大?我是 Matlab 编码的新手,很抱歉我的经验不足!
    • 当然,要更改标记的大小,您可以更改scatter3 的第四个参数,它或多或少是标记的区域(以像素为单位)。有关详细信息,请参阅文档。
    • 完美!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    相关资源
    最近更新 更多