Matlab 如何删除分组条形图之间的空格

Matlab 如何删除分组条形图之间的空格,matlab,bar-chart,multiple-columns,space,Matlab,Bar Chart,Multiple Columns,Space,有人能帮我删除在分组条形图中使用打印数据时出现的条形图组之间的空格吗。这是密码 x = randn(1000,2); [hy,hx] = hist(x); bar(hx,hy,'barWidth',1) 此代码生成以下图形: 如何更改代码以删除条组之间的额外空间 有趣的是,当绘制单个变量时,这些条通过使用 bar(hx,hy(:,1),'barWidth',1) 所以我想知道为什么相同的方法不适用于多个变量您可以单独绘制条形图,如下所示: bar(hx, hy(:,1), 'barwidt

有人能帮我删除在分组条形图中使用打印数据时出现的条形图组之间的空格吗。这是密码

x = randn(1000,2);
[hy,hx] = hist(x);
bar(hx,hy,'barWidth',1)
此代码生成以下图形: 如何更改代码以删除条组之间的额外空间

有趣的是,当绘制单个变量时,这些条通过使用

bar(hx,hy(:,1),'barWidth',1)


所以我想知道为什么相同的方法不适用于多个变量

您可以单独绘制条形图,如下所示:

bar(hx, hy(:,1), 'barwidth', 1)
hold on
hb = bar(hx, hy(:,2), 'barwidth', 1);
set(hb, 'FaceColor', 'none', 'EdgeColor', [1, 0, 0])
在没有空间的情况下,将条形图紧靠在一起绘制是不明确的,因为不清楚要将哪些条形图分组……但如果这确实是您想要做的:

xd=(hx(2)-hx(1))/2;
bar(hx, hy(:,1), 'barwidth', .5)
hold on
hb=bar(hx + xd, hy(:,2))
set(hb, 'FaceColor', 'none', 'EdgeColor', [.8, .3, .2], 'Barwidth', .5)