Multi-line legend strings
128 次查看(过去 30 天)
显示 更早的评论
I recently upgraded from R2011b to R2017a. In R2011b I was able to create legend entries with multiple lines e.g.:
figure;
plot(1,1,'o');
legend(sprintf('hello\nworld'));
In 2017a this no longer seems to be possible. The text displayed in the legend is the literal string "hello\nworld" and I get the following warning:
Warning: Error updating Legend.
Character vector must have valid interpreter syntax:
hello\nworld
Furthermore, the legend text overruns the bounding box that is drawn for the legend. In both R2011b and R2017a, the 'interpreter' property for the legend object defaults to 'tex'. I've tried using both 'none' and 'latex' as the R2017a interpreter but still get the same results.
Is there a way to have a multi-line legend string in R2017a?
回答(2 个)
Daniel Svedbrand
2019-2-13
use \newline instead of \n and skip "sprintf"
legend('hello\newlineworld');
0 个评论
the cyclist
2018-4-11
Maybe you have a different interpreter?
If you do
figure;
plot(1,1,'o');
hL = legend(sprintf('hello\nworld'));
What do you get from
hL.Interpreter
? Mine is 'tex'
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!