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