首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多系列高库存实时图表未正确显示

多系列高库存实时图表未正确显示
EN

Stack Overflow用户
提问于 2016-01-28 09:56:08
回答 1查看 1.2K关注 0票数 0

我已经有了一个使用PHP和mysql的静态图表,但这个实时图表不会显示预期的结果。

这是我的图表代码

代码语言:javascript
复制
$(document).ready(function() {
    chart = new Highcharts.StockChart({
        chart: {
            renderTo: 'container',
            defaultSeriesType: 'spline',
            events: {
                load: requestData
            }
        },
        series: [{
            name: 'S1',
            data: []},{
            name: 'S2',
            data: []},{
            name: 'S3',
            data: []},{
            name: 'S4',
            data: []},{
            name: 'S5',
            data: []},{
            name: 'S6',
            data: []
        }]
    });        
});

这是ajax代码

代码语言:javascript
复制
function requestData() {
    $.ajax({
    url: 'live-server-data.php',
    success: function(points) {
        var series = chart.series,
            shift;
        $.each(series, function(i, s) {
            shift = s.data.length > 20;
            s.addPoint(points[i], false, shift);
        });
        setTimeout(requestData, 1000);   
        chart.redraw(); 
    },
    cache: false
    });
}

最后,这是live-server-data.php提供的JSON示例

代码语言:javascript
复制
[[1453945513000,640],[1453945513000,1197],[1453945513000,1112],[1453945513000,402],[1453945513000,879],[1453945513000,658]]

编辑:

这是live-server-data.php中的代码

代码语言:javascript
复制
header("Content-type: text/json");
$x = time() * 1000;
for($i=0; $i<6; $i++){
    $ret[]=array($x, mt_rand(350, 1200));
}
echo json_encode($ret);
EN

回答 1

Stack Overflow用户

发布于 2016-01-29 17:25:15

问题出在更新导航器系列。当你浏览所有系列时:

代码语言:javascript
复制
 $.each(series, function(i, s) { ... });

然后还要更新导航器系列。但是,您的AJAX数据没有足够的分数。我建议向AJAX响应中再添加一个点(例如,与数据中的第一点相同),并为navigator创建单独的系列:

代码语言:javascript
复制
// Create the chart
$('#container').highcharts('StockChart', {
  chart: {
    events: {
      load: requestData
    }
  },

  navigator: {
    series: {
        data: []
    }
  },

  series: [{
    name: 'Random data',
    data: []
   }, {
    name: 'Random data 2',
    data: []
  }]
});

现场演示:http://jsfiddle.net/dqkjrd7k/1/

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

https://stackoverflow.com/questions/35051561

复制
相关文章

相似问题

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