首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在x轴中不使用UTC日期值的高图表系列区域

在x轴中不使用UTC日期值的高图表系列区域
EN

Stack Overflow用户
提问于 2017-10-27 05:09:21
回答 1查看 401关注 0票数 0

我试图连接点跨越空点与虚线在高架线系列图。

我能够让它为数据数组中的x值的非日期值工作。小提琴1

但是,当数据数组的x值为UTC日期值时,序列区域无法按预期工作。小提琴2

正如我编写这个问题时,我意识到这里的问题是在buildZones函数中遍历多维数组。

我怎么才能解决这个问题?

代码语言:javascript
运行
复制
$(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]]

  });

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-27 05:25:48

我想出了办法。我只需要改变推送的价值

代码语言:javascript
运行
复制
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;

}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46967894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档