2015-04-05 2 views
0

Есть ли способ добавить пространство между графиками для функции plotmatrix? (Я хотел бы отметить каждую x и y ось)Добавить пространство между графиками для функции plotmatrix

+0

Если каждая ось получить это другая метка, являются вы уверены, что хотите «plotmatrix 'а не' subplot'? – Daniel

ответ

1

Вы можете сделать это, используя специальный выходной аргумент в вызове plotmatrix. Затем вы можете получить положение каждой отдельной оси и изменить ее (уменьшая ее).

Пример:

clc 
clear 

rng default 
X = randn(50,3); 
Y = reshape(1:150,50,3); 

%// Use this output argument 
[~,AX,~,~,~] = plotmatrix(X,Y); 

%// Fetch all the positions and alter them (make axes smaller) 
AllPos = get(AX(:),'Position'); 

AllPos = vertcat(AllPos{:}); 

NewPos = [AllPos(:,1)+.05 AllPos(:,2)+.05 AllPos(:,3)-.1 AllPos(:,4)-.1] 

%// Update the plot 
for k = 1:numel(AX) 
    axes(AX(k)) 

    set(AX(k),'Position',NewPos(k,:)) 

    xlabel(sprintf('Axes %i',k)) 

end 

Результаты следующие:

enter image description here

В отличие от оригинального сюжета:

enter image description here

+0

Еще раз спасибо за вашу помощь, я действительно предлагаю это. – mat

+0

Отлично, что вы очень рады! Ваши вопросы очень интересны :) –