2015-07-21 37 views
0

我想在兩個變量的循環內創建圖例。我嘗試了不同的東西,但我不知道如何在圖例中指定黑色的名稱和子圖中每次迭代的紅線。循環內的圖例和子圖matlab

基本上我想有什麼是次要情節1傳說應該插曲2 'Sandvik NO2';'Sandvik NO2 24h mean'閱讀 'Sandvik NO';'Sandvik NO 24h mean'等爲六個子繪圖

這裏是代碼

legend3=[{'Sandvik NO';'Sandvik NO_2';'Sandvik NO_x';'Sandvik PM_{10}';'Sandvik PM_{10-2.5}';'Sandvik PM_{2.5}'}]; 

figure 
for i=1:6 
    subplot(2,3,i) 
    plot(d0(:,26),d0(:,18+i)','ko','MarkerSize',10) 
    hold on 
    plot(dd_day(:,26),dd_day(:,18+i)','ro','MarkerSize',6,'MarkerFaceColor','r') 
    hold on 
    ylabel(' ug m^{-3}','fontsize',14) 
    xlabel(' time ','fontsize',14) 
    datetick('x','mmm') 
    legend(legend3{i}) 
    xlim([All_time(1) All_time(6551)]) 
end 

回答

0

試試這個:

figure 
for i=1:6 

    legend3={['Sandvik NO', num2str(i)];['Sandvik NO',num2str(i) ,' 24h mean']}; 

    subplot(2,3,i) 
    plot(d0(:,26),d0(:,18+i)','ko','MarkerSize',10) 
    hold on 
    plot(dd_day(:,26),dd_day(:,18+i)','ro','MarkerSize',6,'MarkerFaceColor','r') 
    hold on 
    ylabel(' ug m^{-3}','fontsize',14) 
    xlabel(' time ','fontsize',14) 
    datetick('x','mmm') 
    legend(legend3) 
    xlim([All_time(1) All_time(6551)]) 
end 
+0

嗨,沒有這不起作用,這將把每個字符串放在不同的子圖中,這兩個字符串應該作爲一個圖中的圖例 –

+0

然後嘗試將它與Theodor的答案組合起來,並嘗試'h = plot(d0( :,26),d0(:... ...',然後是'legend(h,legend3)' – Dan

0

試試這個:

figure 
p1 = subplot(1,2,1) 
plot(sin(1:100),'r') 
p2 = subplot(1,2,2) 
plot(cos(1:100),'b') 
legend(p1,'test') 
legend(p2,'test2') 

並適應您的需求。它應該工作!