MATLAB 中的时间序列图

问题描述

我想以下面第二个图的形式获得我的时间序列图。但是我不知道如何在MATLAB中获得一系列时间的条形图。有没有人有过这样的经历来指导我?第一个图是我想以第二个图的形式绘制的时间序列图的示例。 需要注意的是,第一个图像是在 MATLAB 中使用简单的绘图命令。 http://www.sidc.be/silso/datafiles#total data.i 的链接地址链接中绘制了太阳黑子数的每日数据,它就像这里的第一条曲线。现在我想为任何时间序列数据绘制像第二张图片这样的曲线。

enter image description here

解决方法

您可以使用两组不同的条形图制作堆叠条形图,然后将底部条形设为白色,使其不可见,然后顶部的条形图将与上图相似。这是一些示例代码和它制作的情节

bar_bottom = [0.5,2,1.5];
bar_height = [4,5,3];
x = 1:3;
h = bar(x,[bar_bottom; bar_height],'stacked');
set(h(1),'EdgeColor','w','FaceColor','w') % set bottom bar to be white (invisible since background is white)
set(h(2),'c','BarWidth',1)
line(x,bar_bottom + 0.5 * bar_height,'LineWidth',2)

enter image description here