在图例文本对象中禁用FontSmoothing

时间:2019-01-23 16:39:21

标签: matlab legend

我在Matlab R2018a上。我想为文字图例条目禁用FontSmoothing

  • 将文本对象的FontSmoothing属性默认值设置为“ off”似乎不适用于图例创建的文本对象;

  • 在最近的发行版中使用旧语法[lgd,object_h]=legend(...)太可怕了:由于某种原因,它会导致图例调用内部出现凹进,因此如果我随后要编辑一些object_h的相关属性(此处将其FontSmoothing设置为“关闭”),将进行两次抽签,从而导致呼叫响应和丑陋行为(两次刷新屏幕,而不仅仅是一次刷新)。尽管这种行为使我无法接受,但我仍然可以使用这些句柄将其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')确实可以工作。

任何人都知道如何进行吗?

0 个答案:

没有答案