叠加两个不同轴的地块

时间:2015-11-11 13:34:29

标签: matlab plot subplot

我正在进行某种系统测试,其中我有一组.mat文件形式的读数。 它在.mat文件中有一个结构,其中一个字段为Measurement。它有几个阵列(例如空气质量流量,速度,加速度,碳含量),它们还具有时间和价值等字段。

我需要在相应的时间内绘制不同的场值。

  • 我有两个字段作为速度和加速度。我需要将它绘制在相同的曲线上,并使用网格进行比较。但两者的y轴不同。

  • 速度y轴为:(0:20:120),应显示在左侧,加速度y轴为:(0:2:12),应显示在右边。
    我为此编写了以下代码:

    plot(Measurement.(Measurement.VehV_v.time),Measurement.VehV_v.value)
    grid on
    set(gca,'xtick',[0:500:2000])
    set(gca,'ytick',[0:20:120])
    hold on
    plot(Measurement.(Measurement.accel_w.time),Measurement.accel_w.value)
    grid on
    set(gca,'xtick',[0:500:2000])
    set(gca,'ytick',[0:2:12])    
    

我是否需要为此编写函数,因为我直接从结构中读取值?

轴不匹配,加速度图表非常小。任何人都可以帮我解决这个问题吗? 我还想在这里添加图表的图片,但不幸的是这里有一些错误。我希望没有图片就可以清楚地解决这个问题。

  • 我想我需要使用plotyy()函数,但我无法实现它。

    任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:2)

是的,您想使用plotyy

如果要将比例设置为特定值,则应在创建图形时为轴创建悬挂,例如

[AX,H1,H2] = plotyy(time, velocity, time, acceleration);

其中AX有第一和第二轴的两个元素,例如你可以设置。

set(AX(1),'ytick',[0:20:120])

H1和H2用于设置相应数据的样式等。