How can I disable font smoothing within a legend?

5 vues (au cours des 30 derniers jours)
HoBe
HoBe le 21 Avr 2015
Modifié(e) : Brian C Coe le 18 Juin 2019
I want to globally disable font smoothing for all text entries within figures, since smoothed text looks very poor on my display.
I tried:
set(groot, 'DefaultTextFontSmoothing', 'off');
set(groot, 'DefaultAxesFontSmoothing', 'off');
which seems to work for xlabel(), title(), etc. but not for the text within legends.
I am using Matlab R2015a.

Réponse acceptée

Brian C Coe
Brian C Coe le 30 Mai 2019
Modifié(e) : Brian C Coe le 18 Juin 2019
function [leg,labelhandles,outH,outM] = legend2(varargin)
% function [leg,labelhandles,outH,outM] = legend2(varargin)
% quite possibly the stupidest code i ever had to hack-up to get around a matlab stupidity.
% call 'legend2' instead of 'legend' to remove the noisy font smoothing.
% still can't figure out how to remove the graphicssmoothing, however.
% 2019may31 ~bcoe
if isempty(varargin)
help(mfilename)
return
end
[leg,labelhandles,outH,outM] = legend(varargin{:});
for ii=1:length(leg.ItemText)
leg.ItemText(ii).FontSmoothing='off';
% leg.ItemTokens(ii).graphicssmoothing='off'; %still trying to kill linesmoothing
end
call 'legend2' instead of 'legend'... (-sigh-)

Plus de réponses (1)

Cindy Solomon
Cindy Solomon le 22 Avr 2015
Hi HoBe,
In order to turn off the font smoothing of a legend, you can set the FontSmoothing property of a text object that is a child of the legend. For example:
plot(1:10)
[h,objs] = legend('one')
objs(1).FontSmoothing='off'
Since the legend is no longer a child of the axis, changing the FontSmoothing property of the axis does not have any impact on the legend. Hope this helps!
  1 commentaire
HoBe
HoBe le 23 Avr 2015
Hi Cindy,
thanks for your answer. This solution works for me as a workaround. However, is there a way to turn off font smoothing of legends on a global level? I would expect that
set(groot, 'DefaultTextFontSmoothing', 'off');
should do the job, but it does not.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by