首页 文章

同一图上的多个图

提问于
浏览
2
x = [0.35, 0.65, 0.8, 1]
y1 = [0.1, 0.21, 0.29, 0.35]
y2 = [0.11, 0.26, 0.28, 0.39]
y3 = [0.1, 0.2, 0.28, 0.36]
y4 = [0.1, 0.25, 0.31, 0.37]

我需要在同一图表上绘制所有这些数据,这样就有一个x轴和两个y轴,一个在左边,一个在右边 . y轴的间隔为 0.1:0.1:0.4 ,x轴的间隔为 0:0.1:1 .

我试过 plotyy

[ax, h1, h2] = plotyy(x, y2, x, y4);
hold on
[bx, h3, h4] = plotyy(x, y3, x, y1);

但其中一个向量不会在同一个图上绘制 . 运行此选项并使用图表上的PAN选项时,您将意识到只绘制了3条曲线,而第4条曲线绘制在另一个图形上 . 当我检查图例时,我只得到3条曲线,而不是4条曲线 .

2 回答

  • 0

    这样的事情怎么样:

    plot(x, [y1(:) y2(:) y3(:) y4(:)])
    legend({'y1' 'y2' 'y3' 'y4'}, 'Location','NorthWest')
    set(gca, 'XLim',[0 1], 'YLim',[0.1 0.4])
    

    screenshot

  • 5

    跳过 hold 并使用

    [ax, h1, h2] = plotyy(x, [y2;y3], x, [y4;y1]);
    

    Edit: 这是一种黑客攻击,因为它不支持x不同的数据集 . 那是 y2y3 应该为同一个 x 指定 . y4y1 也是如此 .

相关问题