数据分箱相关

bin.histogram 直方图分箱

单字段

alias: bin.dot

具体用法见示例:

  1. dv.transform({
  2. type: 'bin.histogram',
  3. field: 'a', // 对应数轴上的一个点
  4. bins: 30, // 分箱个数
  5. binWidth: 10, // 分箱步长(会覆盖bins选项)
  6. offset: 0, // 分箱偏移量
  7. groupBy: [], // 分组(用于层叠直方图)
  8. as: ['x', 'count'], // x 为数组,存储了某个分箱的上下限 [x0, x1]
  9. });

bin.quantile 分位值分箱

单字段

具体用法见示例:

  1. dv.transform({
  2. type: 'bin.quantile',
  3. field: 'y', // 计算分为值的字段
  4. as: '_bin', // 保存分为值的数组字段
  5. groupBy: [], // 分组
  6. fraction: 4, // 可选,默认四分位
  7. p: [0.5, 0.3], // 可选,p参数列表,与 fraction 二选一
  8. });

bin.hexagon 六边形分箱

双字段

alias: bin.hex | hexbin

具体用法见示例:

  1. dv.transform({
  2. type: 'bin.hexagon',
  3. fields: ['a', 'b'], // 对应坐标轴上的一个点
  4. bins: [30, 30], // 两个方向上的分箱个数
  5. binWidth: [10, 1000], // 两个方向上的分箱步长(会覆盖bins的配置)
  6. offset: [0, 0], // 两个方向上的分箱偏移量
  7. sizeByCount: false, // 是否根据分箱个数调整分箱大小(六边形的半径)
  8. as: ['x', 'y', 'count'], // 这个点落在的六边形的顶点坐标集,以及每个分箱内的数据条数
  9. // x: [ x0, x1, x2, x3, x4, x5 ], y: [ y0, y1, y2, y3, y4, y5 ]
  10. // count: Number
  11. });
  12. /*
  13. * 顶点顺序:
  14. * 3
  15. * 4 2
  16. *
  17. * 5 1
  18. * 0
  19. */

bin.rectangle 矩形分箱

双字段

alias: bin.rect

具体用法见示例:

  1. dv.transform({
  2. type: 'bin.rectangle',
  3. fields: ['a', 'b'], // 对应坐标轴上的一个点
  4. bins: [30, 30], // 两个方向上的分箱个数
  5. binsWidth: [10, 10], // 两个方向上的分箱步长(会覆盖bins配置)
  6. offset: [0, 0], // 两个方向上的分箱偏移量
  7. sizeByCount: false, // 是否根据分箱个数调整分箱大小
  8. as: ['x', 'y', 'count'], // 这个点落在的六边形的顶点坐标集
  9. // x: [ x0, x1, x2, x3 ], y: [ y0, y1, y2, y3 ]
  10. // count: Number
  11. });
  12. /*
  13. * 顶点顺序:
  14. * 3 - 2
  15. * | |
  16. * 0 - 1
  17. */