geostats
geostats 是一个由 Simon Georget 根据 MIT 许可发布的用于分类的小型独立 JS 库。
其他贡献者:Doug Curl(Jenks2 算法)、Casey Thomas、Dreamind、cricri
→ 如果您正在寻找 geostats 的 TypeScript 实现,请使用 GeoBuckets 库。
目前支持的功能
- 等间隔
- 分位数
- 标准差
- 等差级数
- 等比级数
- 詹克斯(自然断点)- 2种方法
- 唯一值
- 用户自定义分类
以及一些统计方法
要使用它,只需下载 geostats 包并在 HTML 页面中包含以下行:
<script type="text/javascript" src="path/to/lib/geostats.min.js"></script>
请查看示例页面以了解其工作原理!
API
属性:
- serie:包含统计总体。默认:空。
- separator:用于分隔范围值,默认为:' - '
- legendSeparator:默认等于 separator 值
- method:提供有关所使用分类方法的信息。默认:空。
- bounds:分类边界
- ranges:分类范围
- colors:分类颜色
- debug:默认值为
false
。设置为true
时,提供有关对象和属性的有用调试信息。 - silent:默认值为
false
。如果为静默模式,当输入不正确时不触发 alert() 消息,但显示 console.log() 消息
方法:
统计:
- min():返回最小值
- max():返回最大值
- sum():返回总体总和
- pop():返回个体数量
- mean():返回平均值
- median():返回中位数
- variance():返回方差
- stddev():返回标准差
- cov():返回变异系数
分类:
- getClassEqInterval(nbClass) : 执行等间隔分类并将边界值返回到数组中。别名:getEqInterval(nbClass)
- getClassStdDeviation(nbClass) : 执行标准差分类并将边界值返回到数组中。别名:getStdDeviation(nbClass)
- getClassArithmeticProgression(nbClass) : 执行算术级数分类并将边界值返回到数组中。别名:getArithmeticProgression(nbClass)
- getClassGeometricProgression(nbClass) : 执行几何级数分类并将边界值返回到数组中。别名:getGeometricProgression(nbClass)
- getClassQuantile(nbClass) : 执行分位数分类并将边界值返回到数组中。别名:getQuantile(nbClass)
- getClassJenks(nbClass) : 执行Jenks分类并将边界值返回到数组中。别名:getJenks(nbClass) - 优化版本 / 参见 #49
- getClassJenks2(nbClass) : 执行Jenks分类并将边界值返回到数组中。别名:getJenks2(nbClass) - 旧版本
- getClassUniqueValues() : 执行唯一值分类并将边界值(值)返回到数组中。别名:getUniqueValues()
- setClassManually() : 根据传入的数组设置用户自定义分类(返回相同的数组)。用于自动设置边界/范围和生成图例。
构造函数方法:
- setSerie() : 填充 serie 属性
- setColors() : 填充 colors 属性
- setPrecision() : 设置数列精度 - 仅适用于浮点数列。可以不带参数(自动精度),或取0-20之间的整数。默认情况下,精度将由 geostats 自动计算。
获取方法:
- getRanges(array) : 返回一个类别范围数组(ranges 值)
- getRangeNum() : 返回值所属的 this.ranges 的编号/索引
- getHtmlLegend(colors, legend, callback, mode, order) : 返回HTML格式的图例。
colors
定义颜色数组;legend
用于给图例不同的标题;使用counter
,可以显示特定的计数值;callback
是应用于图例边界的函数;mode
用于不同的值范围显示模式;order
指的是值的排序顺序。更多详情,请参考 getHtmlLegend 方法附带的代码注释。 - getSortedlist() : 以文本格式返回排序后的数列
- getClass() : 返回给定值的类别
内部方法:
- _nodata() : 检查 serie 属性是否非空
- _hasNegativeValue() : 检查数列是否包含负值
- _hasZeroValue() : 检查数列是否包含零值
- sorted() : 返回升序排序的数列
- info() : 以文本格式返回关于总体的信息
- setRanges() : 填充 ranges 属性(类别范围数组)
- doCount() : 执行按类别计数功能,用于在图例中显示计数特征 注意:如果你正在寻找一个用于格式化数字以便显示的优秀JavaScript库,请直接使用numeraljs。
MIT 许可证
版权所有 (c) 2011 Simon Georget
特此免费授予任何获得本软件副本和相关文档文件("软件")的人不受限制地处置该软件的权利,包括不限于使用、复制、修改、合并、发布、分发、再许可和/或出售该软件的副本,以及允许被提供该软件的人这样做,但须遵守以下条件:
上述版权声明和本许可声明应包含在该软件的所有副本或重要部分中。
软件按"原样"提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、特定用途的适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他原因引起的,与软件或其使用或其他交易有关。