我在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')
确实可以工作。
任何人都知道如何进行吗?