Highcharts 中文社区

查看: 1651|回复: 2

[JS 数据处理] 动态加点碰到的一个问题

[复制链接]
  • TA的每日心情
    奋斗
    2016-11-17 10:09
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    1

    主题

    2

    帖子

    43

    积分

    HC 新手

    Rank: 1

    积分
    43
    发表于 2016-11-15 21:26:20 | 显示全部楼层 |阅读模式
    1. $(function() {
    2.     var options = {
    3.         chart: {
    4.             renderTo: 'container',
    5.             type: 'spline',
    6.             animation: Highcharts.svg,
    7.             marginRight: 10
    8.         },
    9.         title: {
    10.             text: 'Live random data'
    11.         },
    12.         xAxis: {
    13.             type: 'datetime',
    14.             tickPixelInterval: 150
    15.         },
    16.         yAxis: {
    17.             title: {
    18.                 text: 'Value'
    19.             },
    20.             plotLines: [{
    21.                 value: 0,
    22.                 width: 1,
    23.                 color: '#808080'
    24.             }]
    25.         },
    26.         series: [{
    27.             name: 'test_server'
    28.         }]
    29.     };

    30.     get_init();
    31.     var i = 0;
    32.     var timer = setInterval(
    33.         function() {
    34.             i++;
    35.             if (i >= 3) { i = 0; }
    36.             get_point();
    37.         }, 3000);

    38.     function get_init() {
    39.         $.ajax({
    40.             url: './test10.php',
    41.             type: 'get',
    42.             dataType: "json",
    43.             success: function(d) {
    44.                 options.series[0].data = d;
    45.                 chart = new Highcharts.Chart(options);
    46.             }
    47.         });
    48.     };

    49.     //加点
    50.     function add_point() {
    51.         $.ajax({
    52.             url: './test11.php',
    53.             type: 'get',
    54.             dataType: "json",
    55.             success: function(d) {
    56.                 x = Number(d[0][0]);
    57.                 y = Number(d[0][1]);
    58.                 var series = options.series[0];
    59.                 series.addPoint([x, y], true, true);
    60.             }
    61.         });
    62.     };
    63. });
    复制代码

    参考论坛大神的代码写的,在加点的时候报错如下:
    a.jpg

    各位大神帮忙看看哪里写错了啊。

  • TA的每日心情
    擦汗
    2017-11-29 14:57
  • 签到天数: 747 天

    [LV.9]以坛为家II

    86

    主题

    1107

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    22709

    最佳新人活跃会员热心会员突出贡献优秀版主荣誉管理论坛元老

    发表于 2016-11-16 14:35:10 | 显示全部楼层
    1. var series = options.series[0];
    2. series.addPoint([x, y], true, true);
    复制代码
    这里有问题,options 不是图表对象
    修改后的代码如下:
    1. $(function() {
    2.     var chart = null, // 定义图表对象
    3.         options = {
    4.             chart: {
    5.                 renderTo: 'container',
    6.                 type: 'spline',
    7.                 animation: Highcharts.svg,
    8.                 marginRight: 10
    9.             },
    10.             title: {
    11.                 text: 'Live random data'
    12.             },
    13.             xAxis: {
    14.                 type: 'datetime',
    15.                 tickPixelInterval: 150
    16.             },
    17.             yAxis: {
    18.                 title: {
    19.                     text: 'Value'
    20.                 },
    21.                 plotLines: [{
    22.                     value: 0,
    23.                     width: 1,
    24.                     color: '#808080'
    25.                 }]
    26.             },
    27.             series: [{
    28.                 name: 'test_server'
    29.             }]
    30.         };

    31.     get_init();

    32.     var i = 0;

    33.     var timer = setInterval(
    34.         function() {
    35.             i++;
    36.             if (i >= 3) { i = 0; }
    37.             get_point();
    38.         }, 3000);

    39.     function get_init() {
    40.         $.ajax({
    41.             url: './test10.php',
    42.             type: 'get',
    43.             dataType: "json",
    44.             success: function(d) {
    45.                 options.series[0].data = d;
    46.                 chart = new Highcharts.Chart(options);
    47.             }
    48.         });
    49.     };

    50.     //加点
    51.     function add_point() {
    52.         $.ajax({
    53.             url: './test11.php',
    54.             type: 'get',
    55.             dataType: "json",
    56.             success: function(d) {
    57.                 x = Number(d[0][0]);
    58.                 y = Number(d[0][1]);
    59.                 var series = chart.series[0];
    60.                 series.addPoint([x, y], true, true);
    61.             }
    62.         });
    63.     };
    64. });
    复制代码


    Highcharts 中文网论坛管理团队

    我们提供:商业授权技术支持图表定制VIP服务 等相关支持服务
    在线客服:2133220776(QQ,非技术,工作日 10:00 ~ 17:00)
    新浪微博:http://weibo.com/highcharts
  • TA的每日心情
    奋斗
    2016-11-17 10:09
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    1

    主题

    2

    帖子

    43

    积分

    HC 新手

    Rank: 1

    积分
    43
     楼主| 发表于 2016-11-17 14:40:07 | 显示全部楼层
    可以了,谢谢群大大。不过有点不太明白,哪些才是图表对象啊。
    继续研究:)
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表