我想以不同的颜色取决于值绘制的三维点 Matlab的
。我下面code得到的,但是这并不工作,因为 PLOT3D
需要一个载体。
I want to plot 3D points in Matlab
in different colors depending on a value. I've got following code, but this does not work because plot3d
needs a vector.
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?
How to do that in Matlab?
我会用
scatter3(x,y,z,ones(size(x)),data,'filled')
这将绘制的所有点以相同大小,并根据数据的价值它们上色,使用当前颜色表。还可以使用数据到扩展的每个点的尺寸。
This will plot all the points at the same size and color them according to the value of data, using the current colormap. You can also use data to scale the size of each point.
scatter3(x,y,z,data.^-2,data,'filled')
上一篇:在64位地堆碎片碎片
下一篇:在C ++ 64位枚举?