我正在尝试在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
答案 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]);