Matlab中text函数出现自动换行的问题

小伙伴在使用text函数给图像做标注时,是否遇到过自动换行的问题,那么原因是什么呢?如下图所示:

Matlab中text函数出现自动换行的问题_第1张图片

 红框内的字符排列成了三行,而我们初衷是让其处于一行上,那么是什么问题引起的呢?

其实主要问题在于花括号与方括号的使用上不注意导致的。

代码如下:

% 生成绘图数据
x = 1:.1:10;
y = 5*sin(x);
RMSE1 = 5;

% 绘图
plot(x,y,'b*')

% 标注
% 使用花括号
text(3,3,{'均方根误差RMSE=' num2str(RMSE1),'m^3/s'},'FontSize',12,'FontName','楷体');

% 使用方括号
text(3,1,['均方根误差RMSE=' num2str(RMSE1),'m^3/s'],'FontSize',12,'FontName','楷体');

使用花括号时,text函数将其识别为三段字符,即分别为'均方根误差RMSE=',num2str(RMSE1),'m^3/s'。这时text函数就会每一行标注一段字符,而当使用方括号时,三段字符被认为是一段字符,此时不会自动换行。

同时这个例子也告诉我们想要同时绘制多行字符时,可以使用花括号,而避免使用多个text函数

你可能感兴趣的:(Matlab,matlab)