MATLAB 雙Y軸 多線條 多圖例 繪製方法和代碼

經常需要繪製雙Y軸+多線條+多圖例的曲線圖,在此記錄一下相關方法和代碼。
在這裏插入圖片描述

    figure;
    
    [AX,H1,H2] = plotyy(frameIdx,PSNRY,frameIdx,SSIM);
    set(AX(1),'yTick',[20 : 2 : 50])    %設置右邊Y軸的刻度
    set(AX(2),'yTick',[0.8 : 0.02: 1])  %設置左邊Y軸的刻度
    set(get(AX(1),'Ylabel'),'string','PSNR');
    set(get(AX(2),'Ylabel'),'string','SSIM');
    set(H1,'marker','x','color','r');
    set(H2,'marker','o','color','k');
    
    hold on;
    [H3] = plot(frameIdx,PSNRU,'-^m','MarkerSize', 3);
    [H4] = plot(frameIdx,PSNRV,'-db','MarkerSize', 3);
    for gopIdx = 1 : totalGop
        [H5] = line([(gopIdx-1)*gopLen,(gopIdx-1)*gopLen],[30, 50],'color','g','LineWidth',2);    
        textContent =  strcat('\rightarrow No. ',num2str(gopIdx), ' Gop');
        text((gopIdx-1)*gopLen,35,textContent);
    end
    
    xlabel('frameIdx');
    title('Quality');
    set(gca,'xtick',0:10:frameNum);
    H = legend([H1,H2,H3,H4,H5],{'PSNR_Y','SSIM','PSNR_U','PSNR_V','Gop Info'}); 
    set(h,'Fontsize',13);
    grid off;
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章