首页 文章

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

提问于
浏览
1

在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

    这是一个示例,包含一些随机生成的数据 . 您必须检查矩阵 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 与我一样 . 您将需要将 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] .


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

相关问题