在matlab中对条形图进行分组

时间:2016-05-30 13:56:25

标签: matlab

我正在尝试创建一个酒吧,我希望将每个产品的收入和生产成本分组。我从电子表格中获取数据,然后在matlab中处理它们。

你可以看到我到目前为止所尝试的内容:

sP = cell2mat(Models(2:size(Models),4))
spy = cell2mat(Sales(2:size(Sales),2))

for i1 = 1:length(spy)
    car(i1) = spy(i1).* sP(i1);  
    sumSold = (car);
end

base = 13000

pCost = cell2mat(Models(2:size(Models),3))
production = cell2mat(Production(2:size(Production),2))
for i1 = 1:length(pCost)
    car(i1) = (base+pCost(i1)).* production(i1);  
    sumProductionCost = (car);
end

y = [sumSold; sumProductionCost]

我对y的预期结果是这样的:

     1     2
     1     2
     1     2
     1     2
     etc..

相反,我得到了这个:

1.0e+10 *

0.3693    1.1881    3.2839    2.7604    1.6344    1.2941    2.4883    0.7949
0.3466    1.1025    3.0750    2.6163    1.5572    1.2001    2.3405    0.7481

如果我尝试在条形图中绘制它,我会在两个x轴点上分布8个分组条。

我希望得到相反的结果;有2个分组的条,分布在8 x轴点上。

我对此很陌生。谁能发现我做错了什么?

1 个答案:

答案 0 :(得分:1)

我不确定您的实际数据,因为我不清楚您对sumSold = (car)的意图。但是sumSoldsumProductionCost都是1 x 8,所以当你将它们合并到y时:

[sumSold; sumProductionCost];

;沿第一维连接它们,产生2 x 8数组。

默认情况下,bar将输入的每个绘制为一个组。您需要转置输入,使其为8 x 2,然后您将获得两组8个小节。

bar(y.')