使用MATLAB中的plot函数绘制图形时,可能会需要对绘制的多个图形添加图例,有时候绘制的曲线比较多,且想要添加的图例名有一定的规律,可以使用下面的方法进行添加。
clc,clear
n = 5;
% 绘制曲线
for i = 1:n
plot(1:5,rand(1,5))
hold on
% 添加图例
for i = 1:n
leg_str{i} = ['line',num2str(i)];
legend(leg_str)
可以将代码中的’line’字符串和num2str(i)中的i改成需要的值,注意循环的次数要是曲线的个数。
LEGNUM 图例使用数字数组的当前图形。 LEGNUM(X) 使用 X 中数字的字符串表示向当前图形添加图例。如果 X 是二维或多维数组,它将被展平并包括所有元素。 LEGNUM(X, P) 相同,但使用精度 P,其中 P 是整数。 LEGNUM(X, P, S) 与上述相同,但每个图例标签都包含一个前缀字符串。 例子>legnum(logspace(-5,-4,7), 6);
添加具有对数间隔数字标签的图例,具有 6 位有效数字精度
>legnum(logspace(-5,-4,7), 6, 'x = ');
相同,但标签的形式为“x = 1e-5”等。 另见 NUM2CELLSTR NUM2CELLSTR 将浮点数数组转换为字符串元胞数组。
NUM2CELLSTR(X) 将数组 X 转换为字符串元胞数组。 如果 X 是二维或多维数组,它将被展平(仍将包含所有元素)。
LEGENDTITLE 在图例轴内添加标题。 LEGENDTITLE(LEGH,TITLESTR) 将标题 TITLESTR 添加到图例 LEGH LEGENDTITLE(TITLESTR) 将标题添加到当前轴中的当前图例。 LEGENDTITLE(...,Param,Val) 设置文本对象的指定属性。 H = LEGENDTITLE(...) 返回用于创建标题字符串的文本对象的句柄。 默认情况下,图例标题使用与图例相同的字体,但字体粗体。
情节(randint(10,5)) legh = legend('随机 1','随机 2','随机 3','随机 4','随机 5'); Legendtitle(legh,'随机数据')
问题一:在一个for循环中绘制图形,将图形保存在同一个figure中,根据需要改变循环次数,导致无法确定标签个数。解决方法:在for循环中,将所需的标签内容存在一个cell类型的变量legend_str中,然后在for循环结束后使用语句legend(legend_str)。figure
for i = 1:15
plot(flavorType(i,:))
hold on
功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1,...)
plot((0:0.2:8),besselh(ii,1,(0:0.2:8)),'Color', c(ii,:));% 添加颜色
hold on;
s(ii)=ii; %图例矩阵命名
leg_str{ii}=num2str(s(ii)); %添加图例
legend(leg_str)
file = 'D:\a.xlsx';
data=xlsread(file,'sg—sort');
SS = data(1,2:end); %待会图例需要的内容,这里我的是COD溶液浓度
data = data(2:end,:);
[row,col] = size(data);
band...