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

Начиная в 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 вместо этого.

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

Функции

Свойства

Была ли эта тема полезной?