循环内的图例和子图matlab

时间:2015-07-21 11:26:20

标签: matlab loops legend subplot

我想在两个变量的循环中创建一个图例。我尝试了不同的东西,但我不知道如何在图例中指定在子图中每次迭代都有黑色和红色的名称。

基本上我想要的是在子图1中,传说应该是 子图2 'Sandvik NO';'Sandvik NO 24h mean'中的'Sandvik NO2';'Sandvik NO2 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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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')

并根据您的需求进行调整。它应该工作!