我使用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
)生效,并使我的自定义格式始终处于活动状态。
我尝试过的
- 自定义
tooltip.dateTimeLabelFormats
,但同样,缩小后将使用默认的周格式 - 使用
xAxis.dateTimeLabelFormats
,但这只会影响轴标签的渲染,而不会影响工具提示
2条答案
按热度按时间r8xiu3jd1#
这是由数据分组功能引起的。您可以禁用它或为每个时间范围定义自定义格式。
现场演示:https://jsfiddle.net/BlackLabel/yor987mt/
文件:https://www.highcharts.com/docs/stock/data-grouping
API参考:https://api.highcharts.com/highstock/series.line.dataGrouping.dateTimeLabelFormats
zfciruhq2#
使用
fooltip.formatter
似乎有一个变通办法,它允许使用回调函数为系列和日期定义工具提示,该函数返回[date, y1, y2, ...]
形式的数组。在我的示例中,我现在重用y值的默认格式化程序,但替换了格式化日期的逻辑
示例:https://jsfiddle.net/GregorDeCillia/5hj6r1ft/58/