绘制matlab中按类别分组的数据条形图

时间:2014-05-07 02:51:39

标签: matlab plot bar-chart

在matlab中,是否可以绘制按类别分组的数据条形图?

例如,假设我已导入包含以下数据列的excel文件:

Year    Month    Species    Count
2005      2       spider      5
2005      4      mosquito     8
2006      1       midge       4
2008      4       spider      3

该图应该沿x轴(月和年)有时间,并且在y轴上有计数。应在相应的时间点绘制分组条形图(不同物种的不同颜色)(请注意,当Count = 0时,缺少时间点)。

1 个答案:

答案 0 :(得分:0)

这是一个示例,包含一些随机生成的数据。您必须检查矩阵D,看它是否与您的数据结构相同。

clear,clc,close
Y=[2013:1:2014];
for i=1:length(Y)
    for j=1:12
        for k=1:3
            D(i,j,k)=randi(5)-1;
        end
    end
end

for i=1:3
    t=squeeze(D(:,:,i)).';
    M(:,i)=t(:).';
end
bar(M)

我假设你可以创建D和我一样。您需要使用例如:{/ p>将Species中的字符串转换为数字

Species={'spider';'midge';'mosquito';'spider'}
S=zeros(size(Species))
S(strcmp(Species,'spider'))=1
S(strcmp(Species,'midge'))=2
S(strcmp(Species,'mosquito'))=3

然后D=[Year Month S Count]


希望这个想法至少可以帮到你。