使用plotyy在Matlab传奇中打破长文本

use*_*929 2 matlab matlab-figure

我的情节中的传说太长了,我怎么能把它分成两行?我正在密谋使用plotyy并使用此代码:

leg = sprintf('I_{fitting}=I_0/(\surd{2\pi}\sigma)e^{-[t-t_0]^2/(2.\sigma^2)};\nso t_0=0.2\mus;\sigma=0.09\mus;I_0=4.8\cdot10^{10}W/cm^2') 
legend([h1 h2], 'I=10^{14}[T_e/(3680(1.054)^{1/3})]^{1.5}',leg); 
Run Code Online (Sandbox Code Playgroud)

你能告诉我这是什么问题吗?

Chr*_*lor 5

试试这个

>> leg = sprintf('This is a really long line\nso I broke it in two')
>> plot(1:10, 1:10)
>> legend(leg)
Run Code Online (Sandbox Code Playgroud)

结果如何

在此输入图像描述

如果您的图例中有其他字符需要转义(例如,如果有很多LaTeX),这将无效.在这种情况下,您可以手动插入换行符 -

>> newline = char(10);
>> leg = ['This is the first line', newline, 'and the second: A = 2\pi r^2'];
>> plot(1:10, 1:10);
>> legend(leg)
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述

  • @RobertP.不,我很认真--blush-- :-)现在我看到它对我不起作用,因为我不包括`sprintf` (2认同)