我试图连接点跨越空点与虚线在高架线系列图。
我能够让它为数据数组中的x值的非日期值工作。小提琴1。
但是,当数据数组的x值为UTC日期值时,序列区域无法按预期工作。小提琴2
正如我编写这个问题时,我意识到这里的问题是在buildZones函数中遍历多维数组。
我怎么才能解决这个问题?
$(function() {
var data1 = [[1505715244000,84],[1505792275000,96],[1507004151000,105],[1507004493000,null],[1507004824000,null],[1507004912000,101],[1507180353000,90],[1507261620000,109],[1507262417000,100]]
 var seriesdata = [{type: 'spline', name: "ABC", data: data1,zones: null,connectNulls: true,zoneAxis: 'x', yAxis: 0,
                    showInLegend: false
                };
                seriesdata[0].zones=buildZones(data1);
  function buildZones(data) {
    var zones = [],
        i = -1, len = data.length, current, previous, dashStyle, value;
    while (data[++i][1] === null);
    zones.push({
      value: i
    });
    while (++i < len) {
      previous = data[i - 1][1];
      current = data[i][1];
      dashStyle = '';
      if (previous !== null && current === null) {
        dashStyle = 'solid';
        value = i - 1;
      } else if (previous === null && current !== null) {
        dashStyle = 'dot';
        value = i;
      }
      if (dashStyle) {
        zones.push({
          dashStyle: dashStyle,
          value: value
        });
      }
    }
    console.log(zones)
    return zones;
  }
  var chart = Highcharts.stockChart('container', {
   /* chart: {
      defaultSeriesType: 'spline',
      renderTo: 'container'
    },*/
    plotOptions: {
      series: {
        marker: {
          enabled: true
        }
      }
    },
    series: [seriesdata[0]]
  });
});发布于 2017-10-27 05:25:48
我想出了办法。我只需要改变推送的价值
function buildZones(data) {
var zones = [],
    i = -1, len = data.length, current, previous, dashStyle, value;
while (data[++i][1] === null);
zones.push({
  value:data[i][0]
});
while (++i < len) {
  previous = data[i - 1][1];
  current = data[i][1];
  dashStyle = '';
  if (previous !== null && current === null) {
    dashStyle = 'solid';
    value = data[i - 1][0];
  } else if (previous === null && current !== null) {
    dashStyle = 'dot';
    value = data[i][0];
  }
  if (dashStyle) {
    zones.push({
      dashStyle: dashStyle,
      value: value
    });
  }
}
console.log(zones)
return zones;}
https://stackoverflow.com/questions/46967894
复制相似问题