2


値 [""、20、1、3、""、""、""、""、4、6、6] のデータ ラベルを持つ円グラフがあります。値1が表示されません。どうすれば修正できますか、それともjqPlotのバグですか?

ここに画像の説明を入力

私のコードは次のとおりです。

function getPieChart(res) {
    var data = [];
    $.each(res, function (ind, resData) {
        data.push([resData.Stage, resData.Count]);
    });
    var dataLbl = [];
    for (var i = 0; i < data.length; i++) {
        if (data[i][1] != 0) {
            dataLbl.push(data[i][1]);
        }
        else {
            dataLbl.push('');
        }
    }
    var piePlot = jQuery.jqplot('pie-chart', [data],
      {
          seriesDefaults: {
              renderer: jQuery.jqplot.PieRenderer,
              rendererOptions: {
                  showDataLabels: true,
                  dataLabels: dataLbl,
                  diameter: 250,
                  dataLabelPositionFactor: 0.5,
                  sliceMargin: 3,
                  color: '#DCDCDC'
              },
              shadow: false
          }
      }
    );
}
4

3 に答える 3

1

デフォルトでは、ラベルはパーセンテージを表示しますが、dataLabelsプロパティをlabeldata[] で渡されたラベルに設定すると、表示されるはずです。ラベルを新しい配列に入れるコードは不要です。ドキュメントの 3 番目の例を参照してください: http://www.jqplot.com/tests/pie-donut-charts.php

 var piePlot = jQuery.jqplot('pie-chart', [data],
  {
      seriesDefaults: {
          renderer: jQuery.jqplot.PieRenderer,
          rendererOptions: {
              showDataLabels: true,
              dataLabels: 'label', //specify to use labels
              diameter: 250,
              dataLabelPositionFactor: 0.5,
              sliceMargin: 3,
              color: '#DCDCDC'
          },
          shadow: false
      }
  }
);

また、すでに [[]] を で構築しているようですdata。これをさらに配列にラップする必要はないと思います。

var piePlot = jQuery.jqplot('pie-chart', data,
      {
        //ommitted
      }
于 2013-05-23T08:46:47.210 に答える