Matlab图例Legend多行排布、字体格式

Matlab图例Legend多行排布、字体格式适用于图例文字多,简单排布效果差的情形1.绘制图形,添加图例%数据x=[1234]’;y1=[162313]’;y2=[511108]’;y3=[97612]’;y4=[414151]’;%画图plot(x,y1,’r-o’);%红色,实线,圆圈holdon;plot(x,y2,’k-d’);hold…

适用于图例文字多,简单排布效果差的情形

1. 绘制图形,添加图例

%数据
x=[1 2 3 4]’; y1=[16 2 3 13]’; y2=[5 11 10 8]’; y3=[9 7 6 12]’; y4=[4 14 15 1]’;

%画图
plot(x,y1,’r-o’);   %红色,实线,圆圈
hold on;             
plot(x,y2,’k-d’);
hold on;
plot(x,y3,’b-s’);
hold on;
plot(x,y4,’m-<‘);
axis([1 4 0 20]);

Matlab图例Legend多行排布、字体格式

%添加图例,考虑图例文字较长
lgd=legend(‘第一个图例’,’第二个图例’,’第三个图例’,’第四个图例’);    %采用默认设置
set(lgd,’FontName’,’宋体’,’FontSize’,14);    %更改字体和大小

Matlab图例Legend多行排布、字体格式

%总共有4个图例,垂直放置占据Y方向太多空间,而且覆盖了数据点,这是不行的

2. 更改图例位置,排布方式

%采用水平排布试试
lgd=legend(‘第一个图例’,’第二个图例’,’第三个图例’,’第四个图例’,‘orientation’,’horizontal’); %默认为vertical,改为horizontal

Matlab图例Legend多行排布、字体格式

%图例太长,超出X方向范围,若通过减小字体调整,会导致图例太小,不好看

% 尝试将图例放在外面
lgd=legend(‘第一个图例’,’第二个图例’,’第三个图例’,’第四个图例’,’orientation’,’vertical’,‘location’,’eastoutside’);

Matlab图例Legend多行排布、字体格式

%除非有8个以上的图例,不然这样显示,太难看

%分两行显示图例,首先需要句柄
h1=plot(x,y1,’r-o’);  
hold on;
h2=plot(x,y2,’k-d’);
hold on;
h3=plot(x,y3,’b-s’);
hold on;
h4=plot(x,y4,’m-<‘);
axis([1 4 0 20]);

lgd1=legend([h1,h2],’第一个图例’,’第二个图例’,’orientation’,’horizontal’,’location’,’north’);
set(lgd1,’FontName’,’宋体’,’FontSize’,14);
ah=axes(‘position’,get(gca,’position’),’visible’,’off’);
lgd2=legend(ah,[h3,h4],’第三个图例’,’第四个图例’,’orientation’,’horizontal’,’location’,’north’);

set(lgd2,’FontName’,’宋体’,’FontSize’,14);

Matlab图例Legend多行排布、字体格式

%由于两个图例设置的初始位置相同,需要往下拖拽 “第三、第四个图例” ,变成两行显示

%不想要有框框区分,在每个图例下面加行代码就行啦,如下
legend boxoff;

Matlab图例Legend多行排布、字体格式

3. 万不得已,Matlab中不显示图例,保存图片,ppt中修改

%比如,保存上图之后,在ppt中加个框框,好看

Matlab图例Legend多行排布、字体格式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36142.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注