私は次の写真を持っています:
そして伝説を作りたい。基本的には、長方形の種類ごとに凡例を作りたいと思っています。凡例ボックスでは、マークするボディのタイプに応じて各色の線をマークしたいと思います。
- 緑線:頭
- 黄線:胴体
- 紫色のライン:右腕
- シアンライン:左腕
- 赤線:左足
- 青線:右足
各タイプの長方形が多いため、これは基本的にカスタムです。カスタム凡例を作成して、この絵を描く図に添付するにはどうすればよいですか?
これには 2 つの方法があります。正方形を作成して、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)
または、次のようにダミー オブジェクトを作成することもできます。
hold on
for ii = 1:4
hb(ii) = plot(rand(1,2), rand(1,2),'color','r');
end
p = plot([],[],'r');
legend(p,'Legs')
前者はもう少しエレガントです。
私が考えることができる最も簡単な方法は、最初に各タイプの 1 つの四角形をプロットし、一意の四角形のみの凡例を作成することです。そのようです:
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');
同じ色の線が多数ありますが、凡例は一意の色のみです。
プロットの外側に凡例のドットを描画するだけです:
figure;
plot(-1,-1,'gs',-1,-1,'b^',-1,-1,'ro');
legend('x1','x2','x3','Location','NorthWest');
xlim([0,1]); ylim([0,1]);