Matlab - 将标称值与条形图的数值匹配?

时间:2015-04-22 10:23:42

标签: matlab

我有2个变量,一个是美国/非美国(35辆汽车的起源),第二个是马力(35辆汽车)。 我需要为第一个变量的每个选项的平均马力创建一个条形图和误差条图,所以平均马力为2条。

条形函数不会将名义值与数字值配对。

在此先感谢您的帮助,我刚开始使用Matlab而且有点迷失了!

1 个答案:

答案 0 :(得分:0)

假设您的usa指示符由二进制表示(1表示美国,0表示不使用),您可以使用以下内容。然后,您可以使用accumarray聚合类。然后,您可以使用bar进行绘图。

% Initialize Toy Data
usa = [0 0 1 1]';
hp = [5 15 10 20]';

% Grab Unique Classes
[u,~,c] = unique( usa );

% Aggregate By Unique Classes, m is the mean for each class
m = accumarray( c, hp, size(u), @(x) mean(x) );

% Plot bar graph
bar(u,m)

我不确定你指的是什么错误情节,请澄清一下。您可以将此数据用于任何绘图。