highcharts Highstock:缩小后忽略自定义工具提示

o8x7eapl  于 2022-11-10  发布在  Highcharts
关注(0)|答案(2)|浏览(178)

我使用highcharts/highstock已经有一段时间了,最近发现了一个我无法理解的行为。这是关于highstock Option tooltip.xDateFormat的,它允许自定义呈现工具提示的“日期部分”。

Highcharts.stockChart('chart', {
  series: [ { data: series_data } ],
  tooltip: {
     xDateFormat: "test custom date"
  }
}

在实践中,我将此选项用于格式字符串,而不是硬编码字符串,但这与本问题无关。不寻常的是,在缩小后,自定义格式突然被忽略,并被默认格式替换。

根据显示的点的数量,似乎有某种截止。再次放大会使工具提示切换回自定义格式。
以下是一个示例:https://jsfiddle.net/GregorDeCillia/5hj6r1ft/9/
有人在过去经历过类似的行为吗?我对highcharts的API参考相当熟悉,但似乎找不到任何解释为什么会发生这种情况。我的目标是防止默认格式(Week from Monday, Jun 5, 2017)生效,并使我的自定义格式始终处于活动状态。
我尝试过的

r8xiu3jd

r8xiu3jd1#

这是由数据分组功能引起的。您可以禁用它或为每个时间范围定义自定义格式。

series: [{
    data: data,
    dataGrouping: {
      enabled: false,
      ...
    }
  }]

现场演示:https://jsfiddle.net/BlackLabel/yor987mt/
文件:https://www.highcharts.com/docs/stock/data-grouping
API参考:https://api.highcharts.com/highstock/series.line.dataGrouping.dateTimeLabelFormats

zfciruhq

zfciruhq2#

使用fooltip.formatter似乎有一个变通办法,它允许使用回调函数为系列和日期定义工具提示,该函数返回[date, y1, y2, ...]形式的数组。

tooltip: {
    formatter: _ => ['test custom date', 'custom y']
}

在我的示例中,我现在重用y值的默认格式化程序,但替换了格式化日期的逻辑

tooltip: {
    formatter: function(tooltip) {
         let tt = tooltip.defaultFormatter.call(this, tooltip);
         tt[0] = 'test custom date';
         return tt;
    }
}

示例:https://jsfiddle.net/GregorDeCillia/5hj6r1ft/58/

相关问题