我有一个情节,当使用datetick时,它只显示了几年。我希望每年都有x轴显示。
请注意,x由每日障碍组成,我想每年仅显示轴(但每天保持阻力)
我试过了:
figure;
bar(x, y, 'Stack');
datetick('x', 'yyyy', 'keeplimits', 'keepticks');
set(gca,'XTick', unique(year(x)) )
但这会删除x标签上的所有刻度
答案 0 :(得分:2)
也许这可以让你开始:
% sample data
x = datetime - 10000:datetime;
y = sin(1:10001);
figure;
bar(x, y, 'Stack');
% compute datetime array with each year
range = unique(year(x));
yearticks = datetime(range,ones(size(range)),ones(size(range)));
% update figure
set(gca, 'XTick', yearticks)
set(gca, 'XTickLabelRotation', 90)
直接在unique(year(x))
调用中使用set
将无效,因为它将返回double
数组,而不是datetime
数组。刻度将偏离显示的轴限制,因此不可见。
注意:刻度将标记为每年的1月1日。如果您想标记一年中,您需要在创建datetime
的行中将调用调整为yearticks
。