【问题标题】:Superimposing two plots with different axes叠加两个具有不同轴的图
【发布时间】:2016-02-12 14:39:05
【问题描述】:

我正在进行某种系统测试,其中我有一组 .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() 函数但我无法实现它。

    谁能帮我解决这个问题?

【问题讨论】:

标签: matlab plot subplot


【解决方案1】:

是的,您想使用plotyy

如果您想将比例设置为特定值,您应该在创建绘图时为轴创建挂线,例如

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

其中 AX 有两个元素用于第一个和第二个轴,您可以设置它们,例如

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2018-08-12
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多