相关疑难解决方法(0)

如何在MATLAB中使用分组和堆叠样式创建条形图?

MATLAB 栏文档说明如下:

bar(...,'style')指定条形的样式.'style'是'分组' '堆叠'.默认显示模式为"分组".

但是,我想同时实现这两个目标.让我举一个例子来详细说明:

Y = [1.0 0.5 0.7
     2.0 1.5 2.0
     5.0 4.0 5.0
     4.0 4.0 4.5
     3.0 2.0 2.0];

bar(Y,'group');
Run Code Online (Sandbox Code Playgroud)

此代码生成以下分组的 bareries图,其中5个不同的3个条组合在一起:

在此输入图像描述

bar([repmat(0.5,5,1) Y(:,1)-0.5],'stack');
Run Code Online (Sandbox Code Playgroud)

并且此代码仅使用上面定义的矩阵的第一列生成以下堆叠条形图Y:

在此输入图像描述

我想合并这两个,以获得一个同时分组和堆叠的条形图.因此,期望的结果将像第一张图片一样,并且一组中的三个条中的每一个将像第二张图片那样堆叠.

matlab graph bar-chart

7
推荐指数
1
解决办法
2万
查看次数

MATLAB中的堆积条形图

我正在尝试在MATLAB中创建一个条形图,其中条形位置在一列中,条形高度在另一列中,并且当两个或多个位置重叠时条形堆叠.

为了说明,这里是使用ggplot在R中创建的相同图表:

library(ggplot2)

data <- data.frame(name=c('A', 'B', 'C', 'D', 'E', 'F'),
                   pos=c(0.1, 0.2, 0.2, 0.7, 0.7, 0.9),
                   height=c(2, 4, 1, 3, 2, 1))

ggplot(data, aes(x=pos, y=height, fill=name)) +
  geom_bar(stat='identity', width=0.05)
Run Code Online (Sandbox Code Playgroud)

在R中创建的堆积条形图

为了比较,在MATLAB中,相同的数据如下所示:

data = [ 0.1, 0.2, 0.2, 0.7, 0.7, 0.9; ... 
    2, 4, 1, 3, 2, 1]';
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚是否有一个参数组合bar来创建相同类型的堆积条形图.

matlab bar-chart stacked-chart

2
推荐指数
1
解决办法
132
查看次数

标签 统计

bar-chart ×2

matlab ×2

graph ×1

stacked-chart ×1