5
我想根據值以不同顏色繪製Matlab
中的3D點。我有以下代碼,但這不起作用,因爲plot3d
需要一個向量。在Matlab中繪製3D點
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中做到這一點?
相信代替'酮(大小(X))中'scatter3大小載體可以是用於默認大小相同的大小或空('[]')標量值。 – yuk 2012-02-23 17:43:22
是的,可以有一個標量。我只想要兩個標記顏色。有沒有可能在一行而不是循環中添加它? – Razer 2012-02-23 18:07:39
你只需要調整你的色彩地圖。所以對於兩種顏色(紅色和藍色),你會做這樣的'色彩映射([ones(50,1)* [1 0 0]; ones(50,1)* [0 0 1]])'這將使數據範圍中間的顏色劃分。如果你想要它在一個特定的數字,你必須相應地縮放(n-a,1)個(n + a,1) – zamazalotta 2012-02-23 18:20:26