从结构中在MATLAB中绘制3D绘图

时间:2016-11-15 08:23:25

标签: matlab plot

我正在尝试根据我收集的一些数据构建3D图。数据采用多结构。

例如,a.b.c.d(其中a是结构,b(也是结构)位于ac(也是struct)在b;而d(在c中)是字段)。数据存储如下:

[ -7.87950284920632 -14.0701803040634
 -10.4668280400161   -5.84992824233833
  22.7819823970414   21.2561603536408]

我有大约180行这些数据,我想加载它并构建一个3D图。我尝试过MathWorks网站上的一系列图表(scatter3plotmeshsurf但是我不确定如何加载数据。

或者有没有办法逐一绘制它们并对所有图形进行叠加? 数据图片:

enter image description here

1 个答案:

答案 0 :(得分:0)

(在下面的讨论之后,事实证明OP的结构是1×182多维struct,其中子字段pos包含大小为3×N的数据,其中0 ≤N≤6)。

然后这样的事情应该做:

figure
clf, hold on

% Replace with actual names
if isfield(A, 'B') && ...
        isfield(A.B, 'C') && ...
        isfield(A.B.C, 'pos')

    % Concatenate all the "pos" data into a single 3×N array
    pos = [A.B.C.pos];

    % And draw the XYZ data into a scatterplot
    plot3(pos(1,:), pos(2,:), pos(3,:), ...
          'r.',...
          'Markersize', 10);
end