октава, матлаб, черчение на двух разных участках - PullRequest
2 голосов
/ 04 января 2012

вопрос в том, как построить два разных графика одновременно в matlab или октаве.У меня есть цикл, во время выполнения в этом цикле есть данные, которые должны быть нанесены на два разных графика.После выполнения цикла я хочу сохранить эти графики на диск.
Как реализовать построение графиков на двух разных графиках одновременно?
Как я понимаю, мне нужно как-то создать два разных маркера, затем построить график с использованием этих маркеров и, наконец, сохранитьпостроение графиков с помощью ручек.
Есть идеи, как это сделать?
ОБНОВЛЕНИЕ:
еще один вопрос: как отобразить в обработчике, не показывая сам график.У меня много итераций в цикле, поэтому раздражает закрытие всех окон с графиками, когда мне просто нужно сохранить их в файлах.

Ответы [ 2 ]

3 голосов
/ 04 января 2012

Я немного расширил ответ @ Pursuit и добавил более явный цикл, в котором данные создаются и отображаются итеративно.Обратите внимание, что вы можете использовать figure () для создания нового дескриптора фигуры независимо от того, что у вас в данный момент активно:

%Create figures, and set hold
f1 = figure(); hold on
f2 = figure(); hold on

%Variables for arbitrary loop
done = 0;
counter = 0;
n = 100;
while not(done)
    %Activate figure 1 and plot
    %figure(f1); %Comment in to switch between windows for each update
    set(0,'CurrentFigure',f1) %Comment out if above line is used instead
    plot(counter,rand,'r.')

    %Activate figure 2
    figure(f2);
    plot(counter+10,rand*10,'ro');

    counter = counter + 1;
    if counter >= n
        done = 1;
    end
end 

%Save figures
saveas(f1, 'figure_1.tiff','tiff'); 
saveas(f2, 'figure_2.tiff','tiff'); 
2 голосов
/ 04 января 2012

Попробуйте это:

fig1 = 1937612;  %Random numbers unlikely to conflict with other figures already present
fig2 = 1073131;

for ix = 1:n
    figure(fig1);
    %Plot stuff here
    saveas(fig1, ['figure_1_' num2str(ix) '.tiff'],'tiff');  %Note incrementing filenames

    figure(fig2)
    %Plot stuff here
    saveas(fig2, ['figure_2_' num2str(ix) '.tiff'],'tiff');  %Note incrementing filenames
end
...