在MATLAB进行文本处理或者文本呈现的时候,当显示的文本太长时,可以使用换行的方式呈现结果或者处理文本内容。今天主要以实例介绍四种换行的方式。
方式1:newline
方式2:char(10)
方式3:sprintf('\n')
方式4:\n
1.实例1
newline 函数功能创建一个换行符。newline 等效于 char(10) 或 sprintf('\n')。使用newline 将换行符与字符向量或字符串串联,或在换行符处拆分文本。
1.使用newline换行函数实现文本内容的换行。
2.使用换行符的ASCII码10,程序中使用char(10)换行。
程序
clc;%清除命令行窗口命令
clear all;%清除工作区变量
close all;%关闭图形窗口
figure;
x = randn(1000,1);
y = randn(1000,1);
s = scatter(x,y,'filled');
distfromzero = sqrt(x.^2 + y.^2);
s.AlphaData = distfromzero;
s.MarkerFaceAlpha = 'flat';
s.LineWidth = 0.6;
s.MarkerEdgeColor = 'b';
s.MarkerFaceColor = [0 0.5 0.5];
huanhang = newline;
strx = ['****************欢迎各位靓仔****************' huanhang ...
'****************关注微信公众号云龙派****************'];
stry = ['****************欢迎各位靓女****************' newline ...
'****************关注微信公众号云龙派****************'];
strtitle = ['***************欢迎大家关注***************' newline ...
'***************郭志龙的微信公众号云龙派***************'];
xlabel(strx);
ylabel(stry);
title(strtitle);
%换行符的ascii码值是10
Char = char(10);
figure;
x = randn(1000,1);
y = randn(1000,1);
s = scatter(x,y,'filled');
distfromzero = sqrt(x.^2 + y.^2);
s.AlphaData = distfromzero;
s.MarkerFaceAlpha = 'flat';
s.LineWidth = 0.6;
s.MarkerEdgeColor = 'b';
s.MarkerFaceColor = [0 0.5 0.5];
strx = ['****************欢迎各位靓仔****************' Char ...
'****************关注微信公众号云龙派****************'];
stry = ['****************欢迎各位靓女****************' Char ...
'****************关注微信公众号云龙派****************'];
strtitle = ['***************欢迎大家关注***************' Char ...
'***************郭志龙的微信公众号云龙派***************'];
xlabel(strx);
ylabel(stry);
title(strtitle);
运行结果
2.实例2
3. sprintf('\n') 实现换行
1)在想加入换行的地方,将原始的超长文本拆分开;
2)需要换行的地方,利用 sprintf('\n') 表示换行操作;
3)利用’ [ ] ’,将被拆分的文本以及 sprintf('\n') 拼接起来,拼接的地方记得用空格隔开。
4.使用\n在输出函数fprintf等输出函数中可以实现换行,在名称和文本中无效。
程序
clc;%清除命令行窗口命令
clear all;%清除工作区变量
close all;%关闭图形窗口
num = 25;
x = [5:5:25];
y1 = [45 85 160 75 45];
a1 = [100 50 80 30 50];
figure;
axis([0 20 0 200])
scatter(x,y1,a1*num,'MarkerFaceColor','b','MarkerEdgeColor','b',...
'MarkerFaceAlpha',.2,'MarkerEdgeAlpha',.2)
x = [2 4 5 6 10];
y2 = [20 60 70 80 100];
a2 = [20 25 35 55 65];
hold on
scatter(x,y2,a2*num,'MarkerFaceColor','r','MarkerEdgeColor','r',...
'MarkerFaceAlpha',0.2,'MarkerEdgeAlpha',0.2)
hold off
xlabel('****************欢迎各位靓仔关注微信公众号云龙派****************');
ylabel('***************欢迎各位靓女关注微信公众号云龙派*****************');
title('***************欢迎大家关注郭志龙的微信公众号云龙派***************');
figure;
scatter(x,y1,a1*num,'MarkerFaceColor','b','MarkerEdgeColor','b',...
'MarkerFaceAlpha',.2,'MarkerEdgeAlpha',.2)
x = [2 4 5 6 10];
y2 = [20 60 70 80 100];
a2 = [20 25 35 55 65];
hold on
scatter(x,y2,a2*num,'MarkerFaceColor','r','MarkerEdgeColor','r',...
'MarkerFaceAlpha',0.2,'MarkerEdgeAlpha',0.2)
hold off
xlabel('****************欢迎各位靓仔\n关注微信公众号云龙派****************');
ylabel('***************欢迎各位靓女\n关注微信公众号云龙派*****************');
title('***************欢迎大家关注\n郭志龙的微信公众号云龙派***************');
% 1)在你想加入换行的地方,将原始的超长文本拆分开;
% 2)需要换行的地方,利用 sprintf('\n') 表示换行操作
% 3)利用’ [ ] ’,将被拆分的文本以及 sprintf('\n') 拼接起来,拼接的地方记得用空格隔开。
strx = ['****************欢迎各位靓仔****************' sprintf('\n') '****************关注微信公众号云龙派****************'];
stry = ['****************欢迎各位靓女****************' sprintf('\n') '****************关注微信公众号云龙派****************'];
strtitle = ['***************欢迎大家关注***************' sprintf('\n') '***************郭志龙的微信公众号云龙派***************'];
figure;
scatter(x,y1,a1*num,'MarkerFaceColor','b','MarkerEdgeColor','b',...
'MarkerFaceAlpha',.2,'MarkerEdgeAlpha',.2)
x = [2 4 5 6 10];
y2 = [20 60 70 80 100];
a2 = [20 25 35 55 65];
hold on
scatter(x,y2,a2*num,'MarkerFaceColor','r','MarkerEdgeColor','r',...
'MarkerFaceAlpha',0.2,'MarkerEdgeAlpha',0.2)
hold off
xlabel(strx);
ylabel(stry);
title(strtitle);
运行结果
3.参考内容
[1]https://ww2.mathworks.cn/help/matlab/ref/scatter.html
[2]知乎作者 Ourselves的文章《MATLAB中的各种文本说明换行操作》
[3]https://zhuanlan.zhihu.com/p/392937990
[4]CSDN作者天外来客Jonty的文章《MATLAB 散点图(scatter)设置点据透明度》文章链接:
https://blog.csdn.net/qq_38882446/article/details/115024056
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙