高库存数据分组选项

时间:2018-06-21 05:27:37

标签: highcharts highstock

我已经完成了highstock数据分组文档(https://api.highcharts.com/highstock/series.column.dataGrouping),但是对于这个数据分组选项并不清楚,我注意到的是,highstock中的数据分组默认为启用,我们可以强制执行通过在数据分组中通过 units 选项提供自定义数据分组选项进行数据分组,我的疑问是高库存中的默认数据分组(默认单位选项),另一个是我们需要告诉数据分组单位我们将在图表中显示的每个时间间隔(例如,如果选择的数据范围是一个月,则分组应按1天;如果选择的日期范围是一天,则意味着数据分组的单位应按小时),

units: [[
    'millisecond', // unit name
    [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
], [
    'second',
    [1, 2, 5, 10, 15, 30]
], [
    'minute',
    [1, 2, 5, 10, 15, 30]
], [
    'hour',
    [1, 2, 3, 4, 6, 8, 12]
], [
    'day',
    [1]
], [
    'week',
    [1]
], [
    'month',
    [1, 3, 6]
], [
    'year',
    null
]]

我们需要指定每个单位还是需要根据所选的日期范围动态更改单位?

这就是我所做的,基于用户选择分组单位的日期范围应进行更改,我们是否需要根据所选日期范围和unites数组指定的内容指定单位(仅提供一个单位作为分组选项是功能,或者可以根据时间戳选择单位数组选项)

Highcharts.stockChart('chart', {

      chart: {
        zoomType: false
      },

      legend: {
        enabled: true
        align: 'right',
        verticalAlign: 'top',
        x: 0,
        y: -20
      },

      navigator: {
        enabled: false
      },

      rangeSelector: {
        enabled: false
      },

      scrollbar: {
        enabled: false
      },

      xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
          day:"%b %e"
        }
      },

      yAxis: {
        opposite : false
      },
     series: [{
       data: data ,
    marker: {
      enabled: true
    },
    dataGrouping: {
      forced: true,
      approximation: "sum"
    }
  }]

编辑 当强制选项设置为false时 enter image description here

1 个答案:

答案 0 :(得分:0)

  

这是高库存的默认数据分组(默认单位选项)

units部分的 API https://api.highcharts.com/highstock/series.column.dataGrouping.units)中存在一点缺陷。首先,它说它默认为:

units: [[
    'millisecond', // unit name
    [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
], [
    'second',
    [1, 2, 5, 10, 15, 30]
], [
    'minute',
    [1, 2, 5, 10, 15, 30]
], [
    'hour',
    [1, 2, 3, 4, 6, 8, 12]
], [
    'day',
    [1]
], [
    'week',
    [1]
], [
    'month',
    [1, 3, 6]
], [
    'year',
    null
]]

,然后显示“默认为undefined”。线出现。第一个是正确的。

Highcharts会自动从units数组中找到最佳分组单位。因此,换句话说:units指定如果 Highcharts认为应用数据分组是一个好主意。

启用dataGrouping.forced并在units数组中仅使用一个键/值对,以确保无论任何情况下都将使用此分组:

units: [[
    'hour',
    [3]
] // Data will always be grouped into 3 hours periods

这些只是一般规则-它们应该足以成功使用数据分组。