Отключить FontSmoothing в текстовых объектах Legend - PullRequest
0 голосов
/ 23 января 2019

Я на 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') работает, хотя.

У кого-нибудь есть идеи, как поступить?

...