我正在寻找一种方法来覆盖Highcharts.timeUnits,这似乎是定义何时从一个单元跳转到另一个单元的数组。 (它没有源代码中的那么简单,但是...)
为什么?因为我的需求如下:
我有15分钟的时间数据,为期三年。 我想要一个可缩放的柱状图(我在实践中使用highstock),其中按给定的缩放比例按月显示1列,按比例缩放时按每周显示1列,然后按天按1分,按小时1分按15分。 >
在这个想法中,我使用plotOptions.series.dataGrouping.units定义以下参数:
units: [
[
'minute',
[15]
], [
'day',
[1]
], [
'week',
[1]
], [
'month',
[1]
], [
'year',
[1]
]
],
但是Highcharts使用自己的规则从一个单元跳到另一个单元,我发现这些规则不适合我的用例(我认为切换太“早”了)
我可以通过修改groupPixelWidth
来稍微改变行为,但这是不得已的方法,因为它的行为仍然很奇怪。
这里是一个例子。如果单击各种时间标度,您会发现选择的timeUnit通常不适用。 例如,选择星期或跨度为2018年11月5日至2018年11月26日:您可以按小时显示数据,但是按可以更清晰地读取数据,等等。
答案 0 :(得分:0)
所以您要在15分钟和一个小时的时间内放大图表,对吗?
xAxis: {
type: 'datetime',
minRange: 15 * 60 * 1000
},
rangeSelector: {
buttons: [{
type: 'minute',
count: 15,
text: '15m'
}, {
type: 'minute',
count: 60,
text: '1h'
},.....
将xrange的最小值设置为15(以毫秒为单位),并在范围选择器中添加15m和1h的按钮