我可以同步两个具有不同年份(闰年)的高图表系列吗?

Can I sychronize two highcharts series with different years (leap year)

本文关键字:闰年 高图表 系列 同年 同步 两个 我可以      更新时间:2023-09-26
这个问题

最好用下面的小提琴来描述:https://jsfiddle.net/bernhard_kern/85s2fm5a/3/。我们使用两个系列和两个x轴。

xAxis: [{
        type: 'datetime',
        min: new Date('2016/02/22').getTime(),
        max: new Date('2016/03/05').getTime()
    }, {
        type: 'datetime',
        min: new Date('2015/02/22').getTime(),
        max: new Date('2015/03/06').getTime()
    }],

我想比较年度时间序列,由于闰年(2016 年 2 月 29 日),它们具有不同的值

要求: 在彼此下方显示相等的日期,即使存在闰年也是如此。

在示例中,您可以看到 3 月 1 日显示在 2 月 29 日下方。对于非闰年时间序列,应该有一个差距。即使我在 3 月 1 日添加空值,也无法停止房间时间连续体

有人可以帮助我吗?

我会这样处理:

1) 使用单个 x 轴,带有 point开始使用当前年份(或者,无论哪一年是闰年,以确保您可以考虑闰日。这里使用哪一年甚至无关紧要,只要是闰年。您可以使用 1976 对最终结果没有影响

2)在闰日的日期,在没有闰日的数据系列中,插入一个空值

3) 使用系列名称表示有问题的年份,并在工具提示(和/或您需要显示日期的任何其他位置)中,格式化日期以返回不带年份。

代码示例:

  $('#container').highcharts({
    chart: {
      renderTo: 'container'
    },
    plotOptions: {
      series: {
        pointStart: Date.UTC(2016, 1, 22),
        pointInterval: 24 * 3600 * 1000 // one day
      }
    },
    tooltip: {
      shared: true,
      crosshairs: true,
      dateTimeLabelFormats : {
        day:"%b %e"
      }
    },
    xAxis: {
      type: 'datetime'
    },
    series: [{
      name: '2015',
      data: [176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, null, 71.5, 106.4, 129.2, 144.0],
    },{
      name:'2016',
      data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
    }]
  });

小提琴:

  • https://jsfiddle.net/85s2fm5a/5/