首页 > 解决方案 > 显示超过 50 个图例条目

问题描述

我想绘制 66 个数据集并展示它们的图例。不幸的是,根据 MathWorks 支持团队的说法,MATLAB 图例默认限制为 50 个条目。

我尝试了他们建议的解决方法,包括在图中制作另一个轴,复制以前的数据,然后隐藏新轴,但我无法让它工作(新轴仅显示 16 个中的 1 个附加变量左),所以我被卡住了。

还有其他方法可以显示超过 50 个图例条目吗?

标签: matlabplotcustomizationlegendundocumented-behavior

解决方案


我自己遇到了这个问题,并发现了一个可以提供帮助的未记录特性—— 'LimitMaxLegendEntries'Legend ( 'matlab.graphics.illustration.Legend') 对象的属性。这是一个例子:

hF = figure(); 
hAx = axes(hF);
plot(hAx, magic(100));
hL = legend(hAx, '-DynamicLegend');
set(hL, 'LimitMaxLegendEntries', false, 'NumColumns', 3);

结果是:

在此处输入图像描述

在 R2020a 上测试。

PS
虽然我同意这些可能太多的传奇条目有用,但我相信一个人应该有自由自在地开枪打死自己。


推荐阅读