我想在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中实现这个?
[]
)以获取默认大小,而不是使用ones(size(x))
。 - yukcolormap([ones(50,1)*[1 0 0]; ones(50,1)*[0 0 1]])
。这将使得颜色分割处于数据范围的中间位置。如果您想将其放置在特定数字上,则必须相应地缩放ones(n-a,1)
和ones(n+a,1)
。 - zamazalotta