簡體   English   中英

在Matlab中繪制3D點

[英]Plot 3D points in Matlab

我想根據值在不同顏色的Matlab中繪制3D點。 我有以下代碼,但這不起作用,因為plot3d需要一個向量。

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中做到這一點?

我會用

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

這將繪制相同大小的所有點,並使用當前色彩圖根據數據值對它們進行着色。 您還可以使用數據來縮放每個點的大小。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM