如何将条形图的XtickLabels向左移动?

时间:2017-08-28 05:14:00

标签: matlab graph histogram bar-chart matlab-figure

我目前正在尝试创建频率直方图,为此,我必须创建一个条形图,条形图之间没有空格。但是,这会将XTickLabels置于栏中间。由于它是直方图,我希望数值在每个条之间的线上,以便它可以在视觉上指示间隔。基本上,我需要将所有刻度标签向左移动 我正在使用R2016a。

通过Mathworks查看仅使用折线图,散点图等找到了如何执行此操作的答案。

3 个答案:

答案 0 :(得分:4)

使用Stylebar参数将其设置为 org.json

histc

给出:

out

此外,如果您有兴趣,可以将direction of tick marks更改为向外:

v = [6 12 17 21 28 25 19 15];
bar(v,'histc');

答案 1 :(得分:0)

您是否尝试过使用set命令。例如:

%create some data
x=1:10;
y=rand(1,10);
%bar plot
bar(x,y)
%shift the x to the left 0.4
set(gca, 'XTick', x +.4)

我试图谷歌你的问题,直接在这里找到这个答案: XTick labels and Stacking in bar plot

答案 2 :(得分:0)

您是否有理由不仅使用hist或更新的histogram?使用hist调查edit hist的源代码我发现他们只是使用bar 'hist'选项。像这样:

edges = 1:10
binwidth = 1
x = edges + binwidth/2
nn = 21:30

bar(x, nn, [min(edges), max(edges)], 'hist')

给出

enter image description here

您可以查看histogram的代码,看看他们是如何做到的,但这只是一个小小的举动。