2

次の関数を使用して、正常に機能していたチャートを作成します。

$(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を取得し、その配列を円グラフで使用すると、機能しないことです。つまり...

$(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' }
    }
  );
});
4

3 に答える 3

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' }
                }
        );

    });
于 2013-09-04T11:46:50.257 に答える
0

私はあなたのコードを自分で試しました。そしてそれは完璧に機能しました。エラーはないと思います。おそらく、jqplot.pieRenderer.min.jsへの参照を確認する必要があります

于 2012-11-05T11:37:05.987 に答える
0

グラフのプロットに使用されるグラフ データは文字列として渡されるため、eval を使用してそれをオブジェクトとして解析し、正常に動作しました。 eval(data1)

于 2012-11-02T11:05:13.530 に答える