启用数据分组后,在工具提示中自定义日期

时间:2019-01-17 21:08:52

标签: highcharts

我有一个启用了数据分组的图表,并且在x和y轴上都有工具提示。我还有一个表,显示图表中显示的所有数据。

问题在于大型数据集,当用户将鼠标悬停在图表上时,x轴工具提示中显示的最后日期与表中显示的最后日期不匹配。相反,我认为它显示了分组数据集中的第一个日期。

我知道数据分组有一个近似选项,可让您设置要显示的值(即打开或关闭)。但是,此近似设置似乎仅适用于该值,而不适用于日期。我希望两者都设置为“关闭”。有什么方法可以让我错过吗?

要清楚地了解正在分组的数据集: [(1/1/1),(1 / 2、2),(1 / 3、3),(1 / 4、4)] 近似设置为接近

x轴工具提示显示1/1,y轴显示4,但我希望x轴工具提示显示1/4。

1 个答案:

答案 0 :(得分:0)

Highcharts dataGrouping选择一组点,近似计算该组的值,默认情况下创建一个点,该点的第一个点的日期和整个集合的计算值。您可以通过设置dataGrouping.smoothed = true将其移到中间。

但是,您可以自定义工具提示,使其显示日期范围,例如Friday, Aug 14 - Sunday, Aug 16, 2015。查看下面发布的演示和代码。

HTML:

<div id="container" style="height: 400px; min-width: 600px"></div>

<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script type="text/javascript" src="https://www.highcharts.com/samples/data/three-series-1000-points.js"></script>

JS:

Highcharts.stockChart('container', {
  plotOptions: {
    series: {
      dataGrouping: {
        forced: true,
        approximation: 'average',
        smoothed: true,
        units: [
          ['day', [3]]
        ]
      }
    }
  },
  series: [{
    name: 'ADBE',
    data: ADBE,
    tooltip: {
      valueDecimals: 2
    }
  }]
});

演示: https://jsfiddle.net/BlackLabel/Lba4g3kj/

Api参考: https://api.highcharts.com/highstock/series.line.dataGrouping.approximation
https://api.highcharts.com/highstock/series.line.dataGrouping.smoothed