Используйте серфинг в цикле с данными из структуры - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь представить некоторые данные на графике surf . Данные хранятся в структуре. Прямо сейчас я могу использовать цикл для построения графика на 2D-графике, но в конечном итоге я хочу использовать функцию surf , чтобы назначить линиям градиент цвета как функцию третьей переменной вэтот же цикл.

Это код, который я сейчас использую для 2D-графиков координат x и y . В этом случае каждая линия имеет разную длину (например, траектория x1y1 длиннее x2y2).

Структура results может быть найдена здесь: DATA

for i1 = 1:2

    f = figure();
    if i1 == 1
        figName = 'Plot 1';
    elseif i1 == 2
        figName = 'Plot 2';
    end;
    set(f, 'Name', figName);

    hold all;
    for i2 = 1:nr_trajectories
        if ~isempty(results.x_before{i2, i1})
            plot([results.x_before{i2, i1}; results.x_ROI{i2, i1}; results.x_after{i2,i1}],...
                [results.y_before{i2, i1}; results.y_ROI{i2, i1}; results.y_after{i2, i1}]);

        end;
    end;

end;

Я использовал surf в следующемконтекст (для других вещей), чтобы получить некоторые линейные графики ( x, y ) с цветным градиентом, линейно сопоставленным с переменной v :

    x = rand(1000,1);
    y = rand(1000,1);
    v = rand(1000,1);

    figure;
    surf([x(:) x(:)], [y(:) y(:)], [v(:) v(:)], ...  
    'FaceColor', 'none', ...    
    'EdgeColor', 'interp', ...  
    'LineWidth', 3);            
    view(2);                    

Моя цельиспользовать этот серф-код во втором для цикла первого куска кода.

Есть идеи, как мне это сделать? Любой вклад очень приветствуется:)

Ура

...