我有以下图片:
我想为它做一个传奇.基本上,我想为每种类型的矩形制作一个图例.在图例框中,我想根据它标记的正文类型标记每个颜色线:
这基本上是自定义的,因为我有更多的每种类型的矩形.如何进行自定义图例并将其附加到绘制此图片的图形上?
有两种方法可以解决这个问题.您可以创建方块,然后将它们分配给hggroup.这样,每种颜色都没有多个项目.像这样的东西:
hold on
for ii = 1:4
hb(ii) = plot(rand(1,2), rand(1,2),'color','r');
end
hg = hggroup;
set(hb,'Parent',hg)
set(hg,'Displayname','Legs')
legend(hg)
Run Code Online (Sandbox Code Playgroud)
或者您可以创建虚拟对象,如下所示:
hold on
for ii = 1:4
hb(ii) = plot(rand(1,2), rand(1,2),'color','r');
end
p = plot([],[],'r');
legend(p,'Legs')
Run Code Online (Sandbox Code Playgroud)
前者更优雅一点.
我能想到的最简单的方法是首先绘制每种类型的一个矩形,并仅为唯一的矩形构建一个图例。就像这样:
figure;
hold on;
% unique rectangles
plot(rand(1, 10), 'b');
plot(rand(1, 10), 'g');
% the rest
plot(rand(1, 10), 'b');
plot(rand(1, 10), 'g');
% use normal legend with only as many entries as there are unique rectangles
legend('Blue', 'Green');
Run Code Online (Sandbox Code Playgroud)
您将有许多相同颜色的线条,但图例仅适用于独特的颜色。
归档时间: |
|
查看次数: |
20727 次 |
最近记录: |