2012-06-21 2 views
2

jpMobile에서 제공하는 HTML 5 앱 내에서 jqPlot 라이브러리를 사용하여 일부 JSON 데이터를 플롯하려고합니다. html 페이지의 '본문'내에 다음 코드를 삽입합니다. 내가 여기서 누락 된 것이 있습니까?jqPlot을 사용하여 JSON 데이터 플롯

<script>  
$(document).ready(function() { 
    // get the JSON data from server 
    $.getJSON("myspecialurl", function(data) { 
     success: function(data) { 
      plotData(data); 
     } 
    }); 
    // plot the data 
    function plotData(data) { 
     ds = []; 
     $(data).find('latitude').each(function() { 
      ds.push([$(this).attr('answer'), parseInt($(this).attr('count'))]); 
     }); 
     $.jqplot('chart1', [ds], { 
      seriesDefaults: { 
       renderer: $.jqplot.DonutRenderer 
      }, 
      legend: { 
       show: true 
      } 
     }); 
    } 
}  
</script> 

편집 : 새로운 플롯 방법 굵은의

function plotData(data) { 
// ds = []; 
// $(data).find('latitude').each(function() { 
// ds.push([ $(this).attr('answer'), parseInt($(this).attr('count')) ]); 
// }); 
var array = data.contacts; 


$.jqplot('chart1', array[0].latitude, { 
seriesDefaults:{ 
    renderer:$.jqplot.DonutRenderer 
}, 
legend: {show:true} 
}); 
} 
+0

주먹눈에는 괜찮아 보입니다. 당신의 작업 전에 JSON은 어떻게 생겼습니까? 'plotData()'를 입력합니까? – Boro

+0

콘솔이 오류 catch되지 않은 구문 에러를 던지고있다 : 예기치 않은 토큰 ( – Apollo

+0

을 나는 또한에 대해이 오류가 데이터 예외 : ReferenceError가 : 데이터가 정의되지] – Apollo

답변

1

은 문제가있는 컴퓨터가 다시 권리입니다. 이것은 코드가 어떻게 보일 것인가입니다. 성공을 ajax 메소드를 사용하는 것처럼 정의했으며, getJSON 성공이 두 번째 매개 변수로 전달되었습니다. 또한 적절하게 ready 기능을 폐쇄되지 않습니다

$.getJSON("myspecialurl", function(data) { 
    plotData(data); 
}); 

편집 I 자리. 단지 }이 아닌 });이어야합니다.

+0

ahhh, ok 그래도 그 오류를 없앴습니다. 그러나 콘솔은 이제이 오류를 던집니다. 하지만 아직 음모를 지정하고 있습니다 ... – Apollo

+0

어떤 예외 참조 예외가 발생 했습니까? – Boro

+0

줄 1881 jquery.jqplot.js 파일에 내 데이터에 액세스 할 수 없다는 것을 제외하면이 코드는 괜찮다고 생각합니다. 특정 데이터에 액세스하려고하면 인덱스 내에서 0,1,2,3과 같이 유지됩니다. data.contacts.0.name을하려고 할 때 JSON 데이터 비트에 액세스해야하지만 숫자 0을 좋아하지 않습니다. 이 문제를 해결할 방법이 있습니까? – Apollo

관련 문제