问题描述
我想以下面第二个图的形式获得我的时间序列图。但是我不知道如何在MATLAB中获得一系列时间的条形图。有没有人有过这样的经历来指导我?第一个图是我想以第二个图的形式绘制的时间序列图的示例。
需要注意的是,第一个图像是在 MATLAB 中使用简单的绘图命令。
http://www.sidc.be/silso/datafiles#total
data.i 的链接地址从链接中绘制了太阳黑子数的每日数据,它就像这里的第一条曲线。现在我想为任何时间序列数据绘制像第二张图片这样的曲线。
解决方法
您可以使用两组不同的条形图制作堆叠条形图,然后将底部条形设为白色,使其不可见,然后顶部的条形图将与上图相似。这是一些示例代码和它制作的情节
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)