Я на Matlab R2018a.Я хочу отключить FontSmoothing
для записей текстовой легенды.
Установка для свойства FontSmoothing значения по умолчанию 'off' для текстовых объектов, кажется, не применяется к текстовым объектам, созданным легендой;
Использование старого синтаксиса [lgd,object_h]=legend(...)
ужасно в недавних выпусках: по какой-то причине это приводит к отмыванию в вызове легенды, поэтому, если я затем захочу отредактировать соответствующие свойстванекоторые из object_h (здесь, чтобы установить их FontSmoothing в положение «off»), будут иметь две отрисовки, что приведет к менее отзывчивому вызову и уродливому поведению (два обновления экрана вместо одного).Хотя такое поведение делает его неприемлемым для меня, я могу использовать эти маркеры, чтобы затем установить для их свойства FontSmoothing значение «off», и оно работает.
Не используя старый синтаксис, а только новыйТаким образом, один lgd=legend(...)
кажется единственным выходом.Кажется, я могу найти текстовые объекты, обратившись к lgd.EntryContainer.NodeChildren(1).Label
(1 для первого текстового объекта, 2 для второго и т. Д.).Проблема в том, что установка свойств в лучшем случае кажется ненадежной:
set(lgd.EntryContainer.NodeChildren(1).Label,'FontSmoothing','off')
ничего не меняет.
set(lgd.EntryContainer.NodeChildren(1).Label,'FontSize',somevalue)
тоже ничего не меняет.
set(lgd.EntryContainer.NodeChildren(1).Label,'String','sometext')
работает, хотя.
У кого-нибудь есть идеи, как поступить?