在1个图中绘制具有2个y轴的多图

时间:2010-03-21 16:17:49

标签: matlab plot

目前我有一个文本文件,第一行的数据格式如下:时间;波高1;波高2; .......我有列,直到波高19和行总共4000行。

第一列中的数据是秒的时间。从第2列开始,以波高为单位。

我想绘制以下内容:

x轴上的

是时间。 左边是波高,单位是m 在右侧是模型中每个测量之间的距离。

图中有4个图,每个图是重叠的波动1,波高2etc在与右手边y asix相关的规定距离。

你会如何在matlab中编写代码?

我是一个乞丐,如果可以的话,请在答案中给出更多解释是非常有用的!我试图发布图片以清除事情,但stackoverflow不允许我这样做。如果不清楚请与我联系,我可以通过电子邮件发送给我这个问题的图表。

谢谢!!!!!!!!!!

2 个答案:

答案 0 :(得分:1)

如果您有2组不同单位/比例的数据,则可以使用plotyy。但是,在这里描述的情况下,似乎mesh可能是更好的选择,给一个3d网格表面或plot3,在3d空间内产生区分线。

答案 1 :(得分:0)

在谈到右边的y尺度时,你的意思是“模型中每个测量之间的距离”是什么意思?

鉴于一些看起来像这样的数据:

#Time               #Wave Height         #Distance Between Measurements(?)
 0000                1.00                 1.00
 0001                1.13                 0.81
 0003                1.58                 0.73
 ...                 ...                  ...
 4000                0.23                 1.19

如果包含Time列的所有元素的向量名为times,则具有波高的向量称为waveHeights,带距离的向量称为distances,您可以使用{以这种方式{1}}:

plotyy()

第一行是实际绘图,最后三行是轴的添加标签。