Есть ли способ добавить пространство между графиками для функции plotmatrix
? (Я хотел бы отметить каждую x
и y
ось)Добавить пространство между графиками для функции plotmatrix
0
A
ответ
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
Результаты следующие:
В отличие от оригинального сюжета:
+0
Еще раз спасибо за вашу помощь, я действительно предлагаю это. – mat
+0
Отлично, что вы очень рады! Ваши вопросы очень интересны :) –
Если каждая ось получить это другая метка, являются вы уверены, что хотите «plotmatrix 'а не' subplot'? – Daniel