私は5つのサブプロットを持つ図を持っています。私は6つのサブプロットを含むsubplot(2,3、X)を宣言します。 6番目のサブプロットは空です。私は、すべてのプロットについて、伝説を6番目の空の位置に移動させます。凡例の位置を空のサブプロットに移動
どうすれば可能ですか?
私は5つのサブプロットを持つ図を持っています。私は6つのサブプロットを含むsubplot(2,3、X)を宣言します。 6番目のサブプロットは空です。私は、すべてのプロットについて、伝説を6番目の空の位置に移動させます。凡例の位置を空のサブプロットに移動
どうすれば可能ですか?
ファイル交換からlegendflexを試してみることもありますが、それはあなたが望むことができるようです。
標準のmatlabを使いたい場合は、サブプロットのハンドルが必要です。その位置が必要です。次に、凡例の位置をサブプロットの位置に設定します。ドキュメントを参照する :
あなたは「場所」オプションを使用して、凡例関数に4要素の位置ベクトルを渡すことによって、凡例の位置を設定することができます。既存の凡例の位置を定義するには、set関数を使用して、4要素の位置ベクトルを 'Position'プロパティに割り当てます。あなたは、例えば、設定された機能
と場所のオプションを使用することはできません。
subplot(2,3,1), plot(1:10,2:11)
myLegend=legend('text1')
set(myLegend,'Units', 'pixels')
myOldLegendPos=get(myLegend,'Position')
hold on
h=subplot(2,3,6)
set(h,'Units', 'pixels')
myPosition=get(h,'Position')
set(myLegend,'Position',[myPosition(1) myPosition(2) myOldLegendPos(3) myOldLegendPos(4)])
この方法は、私のために動作しませんでした。上記のコードをR2012bにコピー/ペーストすると、凡例は図のどこにも表示されません。理由は、2番目の空白のサブプロットが凡例を「カバー」するためです。凡例が見えるようにするには、 'set(h、 'Visible'、 'off')'行を最後に追加する必要があります。 –
または、 'Location 'をベクトル' [Position_Right_in_pct、Position_Top_in_pct、Horizontal_Stretch Vertical_Stretch] 'に設定して' legend'を使用してください。 参照http://stackoverflow.com/a/35696869/3494126 – Ufos