2015-10-21 2 views
0

Я подсчитал свои графики с помощью команды subplot (1,2,1) и подзаголовка (1,2,2). Как видите, у меня есть 2 графика на рисунке. Я хочу, чтобы графики пересечения, как первый график, должны быть во втором графике, а второй граф должен находиться в первом месте графика.Графики переселения Matlab на подстроенном рисунке

ответ

1

Я предполагаю, что вы уже построили данные и не можете их распечатать. Затем вы можете получить ручки осей, т. Е. Указатели на каждый подзаговор, находя все объекты осей на текущем рисунке (gcf), которые не легенды и не цветные панели. (Эта команда findobj берется из ответа на this question по Nzbuu)

ax = findobj(gcf,'type','axes','-not','Tag','legend','-not','Tag','Colorbar'); 

Чтобы получить позиции текущих осей, вы можете прочитать (хорошо ...) 'Position' свойства осей объекта:

pos = get(ax,'Position'); 

, который возвращает массив ячеек 2x1, где каждая запись представляет собой вектор положения 1x4 соответствующей оси. Теперь нам просто нужно переключить два положения:

set(ax(1),'Position',pos{2}); 
set(ax(2),'Position',pos{1}); 

И все, два подзаголовка переключаются.

+0

Спасибо за ответ, но я получил массив ячеек 4x1, где каждая запись представляет собой вектор положения 1x4. –

+0

У вас есть четыре подзарядки на рисунке? Или вы открываете несколько фигур? – hbaderts

+0

Нет, у меня есть 2 подзадачи. Я имею в виду, что в «Рисунок 1» есть 2 графика. Открывается только Рисунок 1. –

Смежные вопросы