0

サブプロットに凡例を追加したいのですが、特定のプロットのみです。これが私のコードです:

for j = 1:length(FL)
  for i = 1:length(index_list)
    pos=pos+1;
    subplot(size(FL,1),length(index_list), pos)
    legend(num2str(ms_list(i)), 'Location', 'NorthOutside');
    imagesc(imread(FL{j,:},index_list(i)))
    if i==1
        legend(FL(j),'Location', 'WestOutside')

  end 
end

サブプロットには、マルチフレーム .tif ファイルから抽出されたフレームが含まれています。必要なフレームのインデックスは index_list (列) にあります。必要なファイルへのパスは FL (行) にあります。図に追加したいのは、各行の左側にあるファイルの名前と、プロットされた各画像のフレーム インデックスです。ms_list には、ミリ秒単位のインデックスが含まれています。実際に表示したいのはこれです。そのようにすると、ループ内の各パッセージで「Plot empty」が返されます。

何か案が ?

ありがとう

JC

4

1 に答える 1

0

あなたの説明とコードから、legendあなたが望むものではないようです。むしろ、タイトル (プロットの上) と ylabel (特定のプロットの左) が必要です。 legendたとえば、線シリーズなど、プロット内の特定のオブジェクトにラベルを付けることです。

for j = 1:length(FL)
  for i = 1:length(index_list)
    pos=pos+1;
    subplot(size(FL,1),length(index_list), pos)
    title(num2str(ms_list(i))); %#<---title here
    imagesc(imread(FL{j,:},index_list(i)))
    if i==1
        ylabel(FL(j)) %#<---ylabel here    
    end 
  end
end

エラーが発生した理由はlegend、空の軸セットに適用していたためです。 legend軸の子にラベルを付けます。子なし、ラベル付けするものがないため、エラーが発生します。

于 2012-06-19T19:44:09.470 に答える