我想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
Run Code Online (Sandbox Code Playgroud)
如何在Matlab中做到这一点?
zam*_*tta 10
我会用
scatter3(x,y,z,ones(size(x)),data,'filled')
Run Code Online (Sandbox Code Playgroud)
这将绘制相同大小的所有点,并使用当前色彩图根据数据值对它们进行着色.您还可以使用数据来缩放每个点的大小.
scatter3(x,y,z,data.^-2,data,'filled')
Run Code Online (Sandbox Code Playgroud)