首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQPlot Ajax图形渲染问题

JQPlot Ajax图形渲染问题
EN

Stack Overflow用户
提问于 2011-12-15 00:56:13
回答 1查看 957关注 0票数 1

我正在尝试通过Ajax xml获取数据来呈现jqplot图。

代码语言:javascript
复制
  $.ajax({
        type: "POST",
        url: "/ajaxXML.jsp",
        data: ({cmd: "report"}),
        dataType: "xml",
        success: function(xml) {
                var data= new Array();
                $(xml).find('graph').each(function(){
                var points = new Array()
                var x = $(this).attr('x');
                var y = $(this).attr('y');
                points.push(x);
                points.push(y);
                data.push(points);
            });

            plotGraph(data);

        }
    });             


function plotGraph( data){
     var line1=[['11-01-11',2052], ['11-02-11',2205], ['11-03-11',1910], ['11-04-11',2085], ['11-05-11',2261],  ['11-06-11',1714],  ['11-07-11',3123], ['11-08-11',3369], ['11-09-11',3515], ['11-10-11',3380], ['11-11-11',3476], ['11-12-11',3954], ['11-13-11',2799], ['11-14-11',3166], ['11-15-11',2932] ,['11-16-11',3289]];
     alert(data);
     alert(line1);
  $.jqplot('chart1', [data], {
        title:'Margin vs Date',
        axes:{
            xaxis:{
                renderer:$.jqplot.DateAxisRenderer
            },
            yaxis:{autoscale:true}
        },
        series:[{lineWidth:4}]

      });
}

xml看起来像这样

代码语言:javascript
复制
     <graphs>
       <graph x="11-28-2011" y="48973"></graph>
       <graph x="11-29-2011" y="41981"></graph>
        <graph x="11-30-2011" y="45562"></graph>
       <graph x="12-01-2011" y="82437"></graph>
         <graph x="12-02-2011" y="83979"></graph>
       <graph x="12-03-2011" y="64444"></graph>
   </graphs>

但是这种策略是如何不起作用的,只有x轴在图形上没有数据点或y轴。

但是,当我尝试查看示例数据(即line1 )时,即使ajax调用获取的数据几乎相似,它也能正常工作

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-15 03:05:44

在解析xml时,y值被作为字符串而不是整数推入数组。尝试:

代码语言:javascript
复制
$(xml).find('graph').each(function(){
  var points = new Array()
  var x = $(this).attr('x');
  var y = $(this).attr('y');
   points.push(x);
   points.push(parseInt(y)); //modified line!
   data.push(points);
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8508442

复制
相关文章

相似问题

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