2012-01-29 54 views
0

我有一个大小为a=<100x1 int32>的数组,例如a(1)=2,a(2)=3等等。如何从这些数据绘制直方图? 当我直接尝试使用hist(a)阴谋,它显示了以下错误如何绘制数组中的直方图

Error using .* 
Integers can only be combined with integers of the same class, or scalar doubles. 

此外,在情况下,数据是不是整数假设a=<100x1 string>这样a(1)='Saturday'a(2)='Monday'等那我怎么才能绘制直方图这个数据。

+2

难道你只是问这个问题在这里:http://stackoverflow.com/questions/9055541/plotting-a-histogram-from-cellvalues? – 2012-01-29 18:46:14

回答

3

你有你的数据转换为加倍(或单,如果你担心内存)调用hist前:

hist(double(a)); 

如果要产生如直方图字符串,您可以使用grp2idx将数据转换为数字索引。

data = {'a' 'b' 'a' 'c'}; 
%# convert to numeric 
[index,keys]=grp2idx(data) 
index = 
    1 
    2 
    1 
    3 
keys = 
    'a' 
    'b' 
    'c' 
%# plot histogram 
hist(index)