问题一:在一个for循环中绘制图形,将图形保存在同一个figure中,根据需要改变循环次数,导致无法确定标签个数。
解决方法:
在for循环中,将所需的标签内容存在一个cell类型的变量legend_str中,然后在for循环结束后使用语句legend(legend_str)。
figure
for i = 1:15
plot(flavorType(i,:))
hold on
legend_str{i} = ['flavor' num2str(i)];
end
legend(legend_str)
问题二:将图例横排或者任意行列排列。
解决方法:借助他人编写的函数模块columnlegend。
下载地址:https://ww2.mathworks.cn/matlabcentral/fileexchange/27389-simonhenin-columnlegend
若无法下载可选择:https://download.csdn.net/download/ckzhb/10388664
使用方法示例:定义字符串+函数
str = [];
str = [str,{'A'},{'B'},{'C'},{'D'},{'E'},{'F'},{'G'}];
columnlegend(7,str,'North')结果:图例按一行七列显示。
本文介绍了在Matlab中解决两个常见绘图问题的方法:一是如何在for循环中绘制多个图形并统一管理图例,二是如何自定义图例的排列方式。通过使用cell数组存储图例并在循环外统一添加,以及利用第三方函数columnlegend来灵活调整图例布局。
1万+

被折叠的 条评论
为什么被折叠?



