Почему являются шкалы палитры и легенды не допустимыми указателями осей?

Начиная в R2014b, шкалы палитры и легенды больше не являются объектами осей. Они - новые типы объектов, которые имеют их собственные наборы поддерживаемых свойств. В предыдущих релизах они - объекты осей, что можно изменить свойства осей использования. Однако много свойств осей не относятся к шкалам палитры и легендам.

Вы не должны выполнять операции, которые принимают или требуют, чтобы шкалы палитры и легенды были объектами осей.

Использование Supported Colorbar and Legend Properties

Не используйте свойства осей изменить шкалы палитры или легенды. Используйте их поддерживаемые свойства. Для списка смотрите ColorBar Properties или Legend Properties.

Например, чтобы инвертировать направление цветовой шкалы вдоль шкалы палитры используют новый Direction свойство для шкалы палитры вместо того, чтобы установить XDir или YDir свойство осей.

c = colorbar;
c.Direction = 'reverse';

Шкалы палитры и легенды не могут быть текущей системой координат

Не передавайте объект шкалы палитры или объект легенды к функции, которая ожидает объект осей как входной параметр.

Например, передавая объект легенды axes функция, чтобы делать его текущими осями возвращает сообщение об ошибке:

plot(1:10)
l = legend('line plot');
axes(l)
Error using axes
Handles of type Legend cannot be made the current Axes.

Точно так же передача шкалы палитры возражает против axes функция возвращает сообщение об ошибке:

c = colorbar;
axes(c)
Error using axes
Handles of type ColorBar cannot be made the current Axes.
В предыдущих релизах вы можете делать шкалу палитры текущими осями прежде, чем дать ему заголовок, Теперь использовать новый Label свойство шкалы палитры вместо этого.
c = colorbar;
c.Label.String = 'Colorbar Label';

Нахождение объектов Используя новые значения свойств типа

Шкалы палитры и легенды больше не имеют Type свойство 'axes'. Не используйте findall или findobj найти объекты с Type свойство 'axes' и ожидайте, что он возвратит шкалы палитры и легенды.

Чтобы найти легенды, ищите объекты с Type свойство 'legend'.

findall(groot,'Type','legend')

Чтобы найти шкалы палитры, ищите объекты с Type свойство 'colorbar'.

findall(groot,'Type','colorbar')

Шкалы палитры и легенды не имеют никаких дочерних элементов

Шкалы палитры и легенды больше не содержат указатели на основные объекты в их Children свойство. Их Children свойства содержат пустой графический массив заполнителя. Для легенды получите доступ к этим основным объектам с помощью выходных аргументов от legend функцию вместо этого.

Смотрите также

Функции

Свойства

Для просмотра документации необходимо авторизоваться на сайте