剧情在Matlab三维点剧情、Matlab

2023-09-07 23:34:50 作者:断片先生i

我想以不同的颜色取决于值绘制的三维点 Matlab的。我下面code得到的,但是这并不工作,因为 PLO​​T3D 需要一个载体。

I want to plot 3D points in Matlab in different colors depending on a value. I've got following code, but this does not work because plot3d needs a vector.

x = vdhf_data.data(:,1);
y = vdhf_data.data(:,2);
z = vdhf_data.data(:,3);
data = vdhf_data.data(:,4);

grid on
hold all

for k=1:length(x)
    if data(k) < 6  
        plot3d(x(k), y(k), z(k), 'ws--', 'MarkerEdgeColor', 'r', 'MarkerFaceColor', 'r')
    else
        plot3d(x(k), y(k), z(k), 'ws--', 'MarkerEdgeColor', 'g', 'MarkerFaceColor', 'g')
    end
end

如何做到这一点在Matlab?

How to do that in Matlab?

推荐答案

我会用

scatter3(x,y,z,ones(size(x)),data,'filled')

这将绘制的所有点以相同大小,并根据数据的价值它们上色,使用当前颜色表。还可以使用数据到扩展的每个点的尺寸。

This will plot all the points at the same size and color them according to the value of data, using the current colormap. You can also use data to scale the size of each point.

scatter3(x,y,z,data.^-2,data,'filled')