Highcharts日期时间列条排列不正确



首先,由于某些原因,我似乎无法在每个月的1日和15日将yAxis设置为tickInterval。

第二,没有一个数据是正确的。如果你看一下系列数据和图表上的条形图就会发现有一些月度填充。连工具提示都有错误的日期。

裁判:http://jsfiddle.net/no1uknow/5hnBP/12/

yAxis: {
            title: '',
            type: 'datetime',
            min: Date.UTC(2014, 9, 1),
            max: Date.UTC(2014, 12, 31),
            tickInterval: 1000 * 60 * 60 * 24 * 14, // two weeks
            //ticks: ['2014-10-01','2014-10-15','2014-11-01','2014-11-15','2014-12-01','2014-12-15','2015-01-01'],
            labels: {
                formatter: function() {
                    return Highcharts.dateFormat('%d-%b-%Y', this.value);
                }
            }
        }

1)每个月的1号和15号没有一个间隔,因为每个月的长度都不一样,从1到>15和从15到>1的距离也不一样。

为了在这些特定的日期上有刻度,您需要使用tickPositions设置,并提供一个数组,其中包含您想要刻度(或date)的每个日期的epoch时间戳(以毫秒为单位)。UTC对象)。

  • tickPositions reference: http://api.highcharts.com/highcharts#xAxis.tickPositions
  • 纪元时间参考:http://www.epochconverter.com/

2)栏和工具提示显示正确。请记住,在javascript中,月份从0开始-所以10是11月,而不是10月。

谢谢你给我指明了方向。

如果有人感兴趣,这是我需要的解决方案。

http://jsfiddle.net/5hnBP/15/

    yAxis: {
                title: '',
                type: 'datetime',
                min: 1409544000000, // Date.UTC(2014, 9, 1),
                max: 1418619600000, // Date.UTC(2014, 1, 31),
              tickPositions: 
[1409544000000,1410753600000,1412136000000,1413345600000,1414814400000,1416027600000,1417410000000,1418619600000,1420088400000],
                labels: {
                    format: '{value:%d-%b-%Y}'
                  }

            }

最新更新