我有一组值(温度读数)是这样的:0,1,3,3.3,3.44,10,11,11,11.1,11.4,11.4,11.5,12.1,13.1,14,15, 19,50,67,70,81。
我需要的是一种类似于附图的水平线图,但它可以自动将这些值分成 3 个智能区间(对于我们的示例,我们看到最多的数字在 10 到 15 之间,所以这将是主要间隔,另外 2 个将用于小于 10 的数字和大于 15 的数字)。
因此绘制的数据类似于: 1-10 之间为 10% 10-15 岁之间为 70% 15 岁以上 20%
有人有什么想法吗?!
谢谢
最佳答案
您所描述的基本上是一个一维聚类问题(这里有一个关于 stats.SE 的类似问题)。
有很多算法可以做到这一点,例如k-means或 Expectation-Maximisation .如果您正在寻找简单的东西,我建议您使用前者。
一旦你有了集群,你剩下要做的就是将数据插入你想使用的任何图表 API。
关于algorithm - 图表数据的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14548970/