在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时,缺少时间点)。
答案 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]
。
希望这个想法至少可以帮到你。