为多条曲线组合图例

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= [''] 进行初始化,您将摆脱该警告。

以上是关于为多条曲线组合图例的主要内容,如果未能解决你的问题,请参考以下文章

为组合图添加一个包含所有变量的图例

为线条/形状组合正确显示 ggplot 图例

图例标签组合图(ggplot 和拼凑)

在 matplotlib 和 pandas 中组合和重新定位两个图表的图例的困难

mathematica 绘制出一个图形中多条曲线,怎么在每条曲线旁边添加文本注释?

添加考虑颜色、形状和线型的组合图例,同时保留原始图例