Matlab条形图分组但在不同的y尺度

Jin*_*ing 4 matlab matlab-figure

我有两组数据,我想用条形图绘制.但问题是这两组数据的规模完全不同.如果我只是使用bar(A)它,它将看起来像这样:分组,但第二个数据集几乎看不到,因为比例.

在此输入图像描述

但是,如果我使用plotyy(x,y1,x,y2),则绘图将如下所示:两组数据的比例不同,但条形图未分组,第二组数据与第一组重叠.

在此输入图像描述

所以我想知道是否有一种方法可以绘制像第一个图一样分组的条形图,但是这两个数据集是使用单独的y尺度?或者有没有办法在第二个图中调整条形图的水平偏移量,使其看起来像"分组".

谢谢!

Lui*_*ndo 8

这使用以下plotyy(x1,y1,x2,y2,fun1,fun2)变体plotyy:

%// Set these three variables as desired
offset = (x(2)-x(1))/8;
width = (x(2)-x(1))/4;
colors = {'b','g'};

%// Do the plot
plotyy(x-offset,y1,x+offset,y2, @(x,y) bar(x,y,width,colors{1}), @(x,y) bar(x,y,width,colors{2}));
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果您希望x-ticks仅出现在使用过的x值上:

h = plotyy(x-offset,y1,x+offset,y2, @(x,y) bar(x,y,width,colors{1}), @(x,y) bar(x,y,width,colors{2}));
set(h,'xtick',x)
Run Code Online (Sandbox Code Playgroud)