【问题标题】:Highcharts overlay multiple datetime seriesHighcharts 覆盖多个日期时间序列
【发布时间】:2016-01-21 21:51:52
【问题描述】:
我想覆盖两个日期时间 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"
},
}
【问题讨论】:
标签:
javascript
jquery
json
highcharts
highstock
【解决方案1】:
我认为您想使用类别 - 这样您将获得均匀分布的点轴,看看: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 将时间戳更改为小时。
【解决方案2】:
@pawel fus 的解决方案可能在大多数情况下都有效,但不幸的是不适合我。
我最终在两个系列的 x 轴上使用了完全相同的值,并且只为每个值设置了不同的名称。