Matlab绘图跳跃间断

3

是否可以在不进行插值的情况下绘制数据序列? 我希望保留一个数据点的值,直到下一个数据点的值出现。

例如:

我有我的时间向量

time = [1 2 3 4 5 6]

并且 datapoints =[3 0 1 4 5 6]

我希望我的图表在时间(1)到时间(2)的线是3,然后在时间(2)改变以取值0。 基本上,在时间2对应的情况下,我的图应该同时采用值3和0(跳跃不连续)...

我希望我表达清楚了。


为什么不使用“条形图”? - ironzionlion
因为我在同一张图上有多条线...所以我想使用plot函数。 - gabboshow
1
是的,谢谢!我不知道楼梯图。 - gabboshow
2个回答

7
一个简短的回答:是的,你可以。
使用stairs()函数。
time=[1 2 3 4 5 6];
datapoints = [3 0 1 4 5 6];

stairs(time,datapoints)

祝你好运!


2

您需要复制时间和数据点,并将它们平移以获得阶梯式图形:

time = [1 2 3 4 5 6];
datapoints =[3 0 1 4 5 6];  
datapoints = [datapoints, datapoints];
[time, idx] = sort([time, time]);   
time(1) = [];   
datapoints = datapoints(idx);
datapoints(end) = [];
plot(time,datapoints)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接