2012-11-02 2 views
2

다음 작업을 수행하여 잘 작동하는 차트를 작성합니다.JSON을 사용하여 Jq 플롯을 사용하여 원형 차트 만들기

$(document).ready(function(){ 
    var data = [ 
    ['Heavy Industry', 12],['Retail', 9], ['Light Industry', 14], 
    ['Out of home', 16],['Commuting', 7], ['Orientation', 9] 
    ]; 
    var plot1 = jQuery.jqplot ('chart1', [data], 
    { 
     seriesDefaults: { 
     renderer: jQuery.jqplot.PieRenderer, 
     rendererOptions: { 

      showDataLabels: true 
     } 
     }, 
     legend: { show:true, location: 'e' } 
    } 
); 
}); 

그리고 다른 배열의 JSON을 얻고 내가 그것을 work.Which 의미하지 않습니다 파이 차트에 해당 배열을 사용하는 경우 내 문제는 ...

$(document).ready(function(){ 
var data1= new Array(); 
    data1=[['Heavy Industry', 12],['Retail', 9], ['Light Industry', 14], 
    ['Out of home', 16],['Commuting', 7], ['Orientation', 9]]; 

    var plot1 = jQuery.jqplot ('chart1', [data1], 
    { 
     seriesDefaults: { 
     renderer: jQuery.jqplot.PieRenderer, 
     rendererOptions: { 

      showDataLabels: true 
     } 
     }, 
     legend: { show:true, location: 'e' } 
    } 
); 
}); 
+0

당신은 이것을 만들 수 있습니까? – kayen

+0

제공하신 코드에 어떤 문제도 보이지 않습니다. 내가 만든 피들은 다음과 같습니다. http://jsfiddle.net/XBg5Z/1/. JSON을 jpplot 함수에 전달하는 이유를 보여줄 수 있습니까? – kayen

+0

@kayen 당신의 피들에서 자바 스크립트는 차트를 보여주지 않습니다 –

답변

2

에 대한 참조를 확인해야합니다. 정상적으로 작동합니다.

$.getJSON('/mcontraller/getvalues', function(data) { 
     var items1 = new Array(); 
     var j=0; 
     for (var i in data) { 
      var items = new Array(); 
      items.push(i,Number(data[i])); 
      items1[j++] = items; 
     } 

     var plot1 = jQuery.jqplot('chart1', eval([items1]), { 

        seriesDefaults:{ 
         // Make this a pie chart. 
         renderer:jQuery.jqplot.PieRenderer, 
         rendererOptions:{ 
          // Put data labels on the pie slices. 
          // By default, labels show the percentage of the slice. 
          dataLabels:'value', 
          showDataLabels:true 
         } 
        }, 
        legend:{ show:true, location:'e' } 
       } 
     ); 

    }); 
0

있습니다 차트 datas 차트를 플로팅하는 데 사용되는 문자열로 전달되므로 개체로 구문 분석하는 데 사용되는 eval 잘 작동합니다. eval(data1)

0

나는 코드를 직접 시험해 보았습니다. 그것은 완벽하게 작동했습니다. 나는 어떤 오류라도 있다고 생각하지 않는다. 아마도 jqplot.pieRenderer.min.js