我在以下条形图中的正确条形上方对齐文本时遇到麻烦,我无法弄清楚哪里出了错?
代码:
bar(two_weeks,zAxis);
text(1:length(two_weeks),zAxis,num2str(zAxis),'vert','bottom','horiz','center');
box off
ylabel('Z Axis')
酒吧图表:
在生产后添加了箭头,并显示了箭头应与之对齐的位置。另外请注意,我懒得画所有的箭头。
数据:
two_weeks =
1×14 datetime array
[ 21-Nov-2018, 22-Nov-2018, 23-Nov-2018, 24-Nov-2018, 25-Nov-2018, 26-Nov-2018, 27-Nov-2018, ...
28-Nov-2018, 29-Nov-2018, 30-Nov-2018, 01-Dec-2018, 02-Dec-2018, 03-Dec-2018, 04-Dec-2018 ]
zAxis =
[ 5, 12, 1, 7, 13, 24, 2, 27, 62, 0, 3, 17, 74, 4 ].'
答案 0 :(得分:3)
您的x轴是使用datetime
数组指定的。然后,您使用的是猜测工作,将1:length(two_weeks)
项目的x坐标的索引(text
)对齐。
相反,只需将相同的datetime
数组用于text
的位置即可!
bar( two_weeks, zAxis );
text( two_weeks, zAxis, arrayfun(@num2str,zAxis,'uni',0) );
就像您在问题中所做的那样,我们希望将'VerticalAlignment'
设置为'bottom'
,将'HorizontalAlignment'
设置为'center'
,以使条形上方的内容更加整洁:
bar( two_weeks, zAxis );
text( two_weeks, zAxis, arrayfun(@num2str,zAxis,'uni',0), ...
'VerticalAlignment', 'bottom', 'HorizontalAlignment', 'center' );
输出: