Добавьте метки для x и y, используя функцию plotmatrix MATLAB - PullRequest
0 голосов
/ 13 сентября 2018

Мне удалось построить матрицу (16X16), но я хочу добавить метки для каждой оси X и Y.Как показано ниже, метки написаны вертикально на y и смешаны друг с другом, а также написаны на самом графике x и также смешаны.Есть ли способ добавить метки рядом с осью, не смешивая (как показано на втором фото)?

Текущий график: enter image description here

Что я хочусделать: enter image description here

Мой код (просто остановился после нанесения трех меток, так как он не работал):

[~,ax] = plotmatrix(corr);
ylabel(ax(1,1),'ABCDEFGHIJKLMNOP')
ylabel(ax(2,1),'ABCDEFGHIJKLMNOP')
ylabel(ax(3,1),'ABCDEFGHIJKLMNOP')
xlabel(ax(16,1),'ABCDEFGHIJKLMNOP')
xlabel(ax(16,2),'ABCDEFGHIJKLMNOP')
xlabel(ax(16,3),'ABCDEFGHIJKLMNOP')

1 Ответ

0 голосов
/ 14 сентября 2018

Если я понимаю вашу проблему, вы хотите иметь возможность назначать отдельные y-метки для строк и x-метки для столбцов. К сожалению, когда вы используете xlabel и ylabel, результирующий текст перекрывается. Вот два решения

Решение 1: Используйте большие оси, чтобы установить метки

Используйте одну метку для горизонтальной оси и вертикальной оси, ссылаясь на большие оси

[~,~,HBigAxe] = plotmatrix(corr);
xlabel(HBigAxe,'Horizontal Label for Columns');
ylabel(HBigAxe,'Vertical Label for Rows');

Using Big Axis Label

Решение 2: используйте вращение и выравнивание, чтобы избежать наложения этикеток

Если вы хотите, чтобы у каждой строки и столбца были свои метки, вы можете повернуть и установить горизонтальное выравнивание метки. Например:

[~,ax] = plotmatrix(corr);
ylabel(ax(1,1),'Y Axis Label','Rotation',0,'HorizontalAlignment','right')
xlabel(ax(end,1),'X Axis Label','Rotation',90,'HorizontalAlignment','right')

Individual labels

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...