我有一个有几个情节和一个传说的人物。是否可以手动更改图例中元素的排列?例如,您如何制作两列图例?
问问题
28625 次
5 回答
6
要制作两列图例,普遍的共识似乎是您需要创建两个单独的图例并手动将它们并排放置。从这里的讨论简化了解决方案。
x = 1:10;
y1 = rand(1, 10);
y2 = rand(1, 10);
h1 = plot(x, y1, '-');
hold on
h2 = plot(x, y2, '-.r');
ah1 = gca;
ah2 = axes('position',get(gca,'position'), 'visible','off');
legend(ah1, h1, 'Location', [0.5 0.85 0.15 0.05], 'y1')
legend(ah2, h2, 'Location', [0.7 0.85 0.15 0.05], 'y2')
于 2011-04-15T10:29:37.977 回答
6
当然这是可能的。在此处查看解释:http: //undocumentedmatlab.com/blog/multi-column-grid-legend/
于 2011-04-15T15:53:32.693 回答
1
MathWorks File Exchange上有两个提交内容可以为您创建多列图例:
- 由Simon Henin撰写的columnlegend(这是 MATLAB Central Pick of the Week)
- gridLegend - Adrian Cherry的图例的多列格式
于 2011-04-15T15:16:30.067 回答
0
除了@gnovice 提到的提交之外,MathWorks File Exchange 上还有另一个也创建了多列图例
于 2011-11-24T23:46:46.703 回答
0
在 2018a 中,legend 有一个 NumColumns 参数;例如,如果 h 是绘制线的句柄数组,而 leg_names 是每条线的名称元胞数组:
hleg = legend(h, leg_names, 'FontSize', fontsize);
set(hleg, 'NumColumns', 2);
set(hleg, 'Location', 'south');
于 2019-05-27T22:56:09.257 回答