我有一组年龄(超过10000),我想在x轴上绘制年龄从20到100的图表,然后在y轴上的数据中显示每个年龄的图表 . 我已经尝试了几种方法来做到这一点,我无法弄明白 . 我还有一些其他数据要求我绘制值与它们出现的次数,所以任何关于如何做到这一点的建议将非常感激 .
我对Matlab很陌生,所以如果你能解释你的答案中的内容是如何工作的,而不仅仅是键入一些代码,那将会很棒 .
谢谢 .
编辑:
所以我输入了直方图(年龄,80),因为据我所知,它将绘制直方图中的年龄值,分成80个柱(每个年龄1个) . 相反,我得到了这个:
条形图未对齐,显然不是每个年龄1条,也没有绘制每个年龄在y轴上出现的次数 .
2 回答
你必须使用
histogram()
,这是正确的 .让我们看一个例子 .
我提取100到20岁之间的100岁:
现在我以这种方式打电话给
histogram()
:其中
h
是直方图对象,这也将显示以下图:但是,由于我的年龄向量在20:100范围内,因此它可能看起来很容易,因此它不会包含任何其他值 . 如果你的矢量也包含年龄不在20:100范围内的年龄,你可以在
histogram()
中指定附加选项'BinLimits'
作为第三个输入,如下所示:此选项使用
ages
中的值(包括20和100之间的值)绘制直方图 .注意:通过检查
h
,您实际上可以查看和/或编辑直方图的某些属性 . 您可能感兴趣的此类对象的属性(字段)是值 . 这是一个长度为80的向量(在我们的例子中,因为我们使用80个箱),其中第i个元素是项目数是第i个bin . 这将帮助您计算出现次数(以防您需要继续进行分析) .就像路易斯在评论中所说,
hist
是要走的路 . 您应该指定bin边缘,而不是bin的数量:这是你在找什么?