Highcharts 覆盖多个日期时间系列
Highcharts overlay multiple datetime series
我想叠加两个日期时间 x 轴,它们不是来自同一日期范围但具有相同数量的点(系列 1 的点索引 x 应该紧挨着系列 2 的点索引 x)。
我试图通过隐藏一个的两个 x 轴来实现这一点。
我基本上似乎可以工作,但条形图仅在特定缩放级别对齐。
放大:
缩小:
Here 是一个带有我试过的设置的 jsfiddle:
"xAxis": [{
tickInterval: 36e5,
"type": "datetime",
"dateTimeLabelFormats": {
"day": "%H"
},
visible: false
}, {
tickInterval: 36e5,
"type": "datetime",
"dateTimeLabelFormats": {
"day": "%H"
},
}
我想你想使用类别 - 这样你就会得到均匀分布的点轴,看看:http://jsfiddle.net/8wahvryx/2/
"xAxis": [{
"type": "category",
labels: {
formatter: function() {
return Highcharts.dateFormat('%H:%M', this.value);
}
}
}, {
"type": "category",
visible: false
}]
如果您不想更改数据格式,您可以覆盖数组中的键(默认为 [x, y]
)以支持名称:
plotOptions: {
column: {
keys: ['name', 'y']
}
},
注意:在分类轴中,point.name
用作点下方的类别名称。使用 xAxis.labels.formatter
或 xAxis.labels.format
将时间戳更改为小时。
@pawel fus 的解决方案可能在大多数情况下都有效,但不幸的是它不适合我。
我最终为两个系列的 x 轴使用了完全相同的值,只是为每个值设置了不同的名称。
我想叠加两个日期时间 x 轴,它们不是来自同一日期范围但具有相同数量的点(系列 1 的点索引 x 应该紧挨着系列 2 的点索引 x)。
我试图通过隐藏一个的两个 x 轴来实现这一点。
我基本上似乎可以工作,但条形图仅在特定缩放级别对齐。
放大:
缩小:
Here 是一个带有我试过的设置的 jsfiddle:
"xAxis": [{
tickInterval: 36e5,
"type": "datetime",
"dateTimeLabelFormats": {
"day": "%H"
},
visible: false
}, {
tickInterval: 36e5,
"type": "datetime",
"dateTimeLabelFormats": {
"day": "%H"
},
}
我想你想使用类别 - 这样你就会得到均匀分布的点轴,看看:http://jsfiddle.net/8wahvryx/2/
"xAxis": [{
"type": "category",
labels: {
formatter: function() {
return Highcharts.dateFormat('%H:%M', this.value);
}
}
}, {
"type": "category",
visible: false
}]
如果您不想更改数据格式,您可以覆盖数组中的键(默认为 [x, y]
)以支持名称:
plotOptions: {
column: {
keys: ['name', 'y']
}
},
注意:在分类轴中,point.name
用作点下方的类别名称。使用 xAxis.labels.formatter
或 xAxis.labels.format
将时间戳更改为小时。
@pawel fus 的解决方案可能在大多数情况下都有效,但不幸的是它不适合我。
我最终为两个系列的 x 轴使用了完全相同的值,只是为每个值设置了不同的名称。