为多条曲线组合图例
Posted
技术标签:
【中文标题】为多条曲线组合图例【英文标题】:Assemble Legend for Many Curves 【发布时间】:2019-04-24 09:43:23 【问题描述】:我需要为索引曲线组装一个 Matlab/Octave 图例,我发现以下示例似乎效果很好:
legend(strcat("curve ", num2str(1:2)))
将标签“曲线 1”和“曲线 2”与给定的两条曲线相关联。但是,如果我需要添加不同的、非索引类型的曲线,上面的方法似乎不再适用了。
legend(strcat("curve ", num2str(1:2)),"another curve")
在第二个示例中,第一条曲线具有图例 ["curve 1"; “曲线 2”],第二条曲线得到“另一条曲线”作为图例,而最后一条曲线没有图例。我认为这与图例解释输入的方式有关,我无法绕过它。
【问题讨论】:
【参考方案1】:尝试预先将图例组装为元胞数组,然后将其用作图例输入。
legendCell = cell.empty
for i = 1:2
legendCelli = ['curve' num2str(i)];
end
legendCellend+1 = 'another curve';
legend(legendCell);
【讨论】:
谢谢,应该可以。不得不使用循环让我很困扰。我曾尝试使用 label= [];for i=1:2;label = [label;'curve' num2str(i)];end; label= [label;'another curve'] 有效但给出警告:从数字到字符的隐式转换 如果您知道图例中有多少条目,最好将元胞数组预先分配到正确的大小,而不是随着@987654322 的每次迭代而增加其大小@ 环形。只有 2 个元素,它不会有什么不同,但如果你有更多,这是一个很好的做法。 如果您使用label= ['']
进行初始化,您将摆脱该警告。以上是关于为多条曲线组合图例的主要内容,如果未能解决你的问题,请参考以下文章
在 matplotlib 和 pandas 中组合和重新定位两个图表的图例的困难