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.formatterxAxis.labels.format 将时间戳更改为小时。

@pawel fus 的解决方案可能在大多数情况下都有效,但不幸的是它不适合我。

我最终为两个系列的 x 轴使用了完全相同的值,只是为每个值设置了不同的名称。