Matlab绘图设置任意位置的图例,多个图例设置
Matlab绘图的图例,可能最普遍的是这种,只有一个图例,竖直方向排列,或者水平方向排列:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12clc; clear all; close all; t = 0:0.001:6; A = sin(t); B = cos(t); figure(1312) l1 = plot(t,A); hold on l2 =plot(t,B); grid on legendText = legend([l1,l2],'Sin','Cos','FontSize', 18,'FontName','Times New Roman','location','northeast'); % 设置图例 % set(legendText,'Orientation','horizon'); % 默认垂直排列 改为水平排列
如果想把图例分为多个,然后放到任意的位置,可能会想到直接再用一次legend,可事实上,在matlab里面,一个gca对象只能 有一个图例。gca就是所说的一个坐标轴对象,也就是我们前面看到的那个绘制的图形+外框+坐标轴。
多图例绘制
如果要创建多个图例,我们可以另外创建和原图一样的坐标轴对象,然后设置为不可见,这样就不会覆原来绘制的图,再添加图例即可。如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17clc; clear all; close all; t = 0:0.001:6; A = sin(t); B = cos(t); figure(1312) l1 = plot(t,A); hold on l2 =plot(t,B); grid on legend1 = legend(l1,'Sin','FontSize', 13,'FontName','Times New Roman','location','northwest'); % 设置第2个图例 ah = axes('position',get(gca,'position'),'visible','off'); %新建一个坐标轴对象,位置和当前的坐标轴一致,并且设置为不可见,这样就不会覆原来绘制的图 legend2 = legend(ah,l2,'Cos','FontSize', 13,'FontName','Times New Roman','location','northeast'); % 设置第2个图例,注意这里需要传入建立的坐标轴对象 set(legend1,'Orientation','horizon'); % 默认垂直排列 改为水平排列 set(legend2,'Orientation','horizon'); % 默认垂直排列 改为水平排列
如果需要调整图例的位置,一般我的操作是,打开属性面板,调节到合适的位置,然后拷贝位置的值,再使用代码设置(其实,这个看似简单的方法,却很高效。):
最后
以上就是留胡子汉堡最近收集整理的关于Matlab绘图设置任意位置的图例,多个图例设置Matlab绘图设置任意位置的图例,多个图例设置的全部内容,更多相关Matlab绘图设置任意位置内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复