
legend ignores leading whitespace, thus ignoring field width and messing up alignment
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi!
I am creating a legend where each entry has the same number of characters, padded if necessary by leading whitespace. When I pass this to "legend", this whitespace gets ignored and the "significant characters" centered. Does anyone know how I can force the legend to take the white space into account? Or simply right-align the text?
Mini-example showing the problem:
x = 0:0.1:5;
y = sin(x);
a = logspace(-3,0,10);
% create string array, fixing the field width
tmp = arrayfun(@(x)sprintf('%8.3g %s',x,'Shift'),a,'UniformOutput',0)
figure
for i = 1:length(a)
plot(x,y+exp(a(i))); hold on;
end
legend(tmp) % create legend
Thanks!
댓글 수: 0
채택된 답변
the cyclist
2015년 11월 27일
편집: the cyclist
2015년 11월 27일
You need to choose a fixed-width font. For example
h = legend(tmp) % create legend
set(h,'FontName','monospaced')

댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Legend에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!