当matlab不在数据中时,matlab会绘制垂直线

时间:2017-01-05 14:55:21

标签: matlab matlab-figure

我正在尝试在matlab中绘制数据,这些数据并不包含垂直线(据我所知)。然而,当我绘制它时,我会得到很多垂直线条。我猜测那里有一些我不知道的语法,但我找不到任何类似的问题。

>> whos t 
Name      Size                Bytes  Class     Attributes

t         1x33715            269720  double

>> whos nascent_ts
Name            Size                   Bytes  Class     Attributes

nascent_ts      4x6x33715            6473280  double

plot(t,squeeze(squeeze(nascent_ts(1,1,:))))

这是情节:

plot http://i67.tinypic.com/21oym0y.jpg

我试过转移双方,但没有效果。我只是看不出这是怎么发生的。这里有一些关于实际进入情节的更多信息。

>> tmp=squeeze(squeeze(nascent_ts(1,1,:)));
>> whos tmp
Name          Size             Bytes  Class     Attributes

tmp       33715x1             269720  double

2 个答案:

答案 0 :(得分:2)

"垂直线"你所看到的仅仅是MATLAB的plot功能的结果,它将所有数据点与线连接起来。垂直线是您有一个低值数据点,后跟一个高值数据点的地方。

要解决此问题,您可以为plot指定非线(仅标记)样式

plot(t,squeeze(squeeze(nascent_ts(1,1,:))), '.')

或者您可以设置现有线对象的LineStyle属性

h = plot(t,squeeze(squeeze(nascent_ts(1,1,:))));
set(h, 'LineStyle', 'none', 'Marker', '.')

答案 1 :(得分:-4)

尝试更改y轴限制:ylim([-0.5 1.5]);