【发布时间】:2019-10-09 02:00:02
【问题描述】:
我正在尝试在 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,:))))
剧情如下:
我尝试过转换两边,但没有效果。我只是看不出这怎么可能发生。以下是有关情节实际内容的更多信息。
>> tmp=squeeze(squeeze(nascent_ts(1,1,:)));
>> whos tmp
Name Size Bytes Class Attributes
tmp 33715x1 269720 double
【问题讨论】:
-
了解数据的大小并没有帮助。我们需要查看数据本身。需要注意的是,
plotmatlab 只会用一条线连接所有点,因此您可能会看到“垂直线”,其中低值连接到高值。您可以指定您不想要连接线,而是想要带有 plotplot(data, '.')的点标记 -
执行
numel(unique(t))以查看您是否有重复的时间步长,并min(nascent_ts)、max(nascent_ts)以查看要绘制的数据中是否存在超出比例的高/低值。 -
Suever 就是这样,谢谢! (我现在觉得真的很蠢!)。如果您想将其写为答案,那么我将选择它作为答案。
-
谢谢你,马特,你的评论也很有用。
标签: matlab matlab-figure