Построение двух отключенных поверхностей одновременно в Matlab
Я бегу за цикл, который в настоящее время оживляет surf
графики с использованием столбцов 1: k (for k=1:301
) из 3 различных матриц (представляющих x, y и z) размера 21 x 602. Однако одновременно я хочу просматривать столбцы графика for 302:k+301
, так что, по сути, я получаю анимацию двух потоковых трубок одновременно.
В настоящее время у меня есть:
p = surf(nan(21,602), nan(21,602), nan(21,602));
for k = 1:301
% Update all of the plot objects at once
set(p, 'XData', x(:, 1:k), ...
'YData', y(:, 1:k), ...
'ZData', z(:, 1:k),'facecolor', Colour, 'edgecolor',EdgeColour,...
'facelighting','gouraud')
drawnow
end
Но очевидно, что это только сюжет первой анимации, как она написана в данный момент. Как это можно адаптировать для одновременного построения графиков других требуемых столбцов (и, следовательно, другой анимации)?
Спасибо
1 ответ
Как насчет этого:
p1 = surf([0 0 ;0 0]);
hold all
p2 = surf([0 0 ;0 0]);
for k = 1:301
% Update all of the plot objects at once
set(p1, 'XData', x(:,1:k), ...
'YData', y(:,1:k), ...
'ZData', z(:,1:k),'facecolor', Colour, 'edgecolor',EdgeColour,...
'facelighting','gouraud')
set(p2, 'XData', a(:,1:k), ...
'YData', b(:,1:k), ...
'ZData', c(:,1:k),'facecolor', Colour, 'edgecolor',EdgeColour,...
'facelighting','gouraud')
drawnow
end
hold off
x,y,z
это данные для одной спирали, и a,b,c
это данные для другой спирали. Вам нужно создать две разные оси (p1
а также p2
) так surf
не хочу соединять данные вообще
Надеюсь, что это отвечает на вопрос:)