2013-05-23 2 views
2

У меня есть такая круговая диаграмма
, которая имеет метки данных со значениями ["", 20, 1, 3, "", "", "", "", 4, 6, 6], , он показывает все значения без каких-либо проблем, за исключением того, что он не показывает значение 1. Как я могу исправить ошибку или это ошибка jqPlot?jqPlot График данных диаграммы не отображается

enter image description here

Моего код:

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

я не знаю, можно ли решить эту проблему пока, но проблема устанавливая dataLabelThreshold

по умолчанию его значение равно 3, так что ничего ниже этого значения будет показано

попробуйте установить его значение до нуля (диапазон 0-100), как этот

rendererOptions: { 
    dataLabelThreshold: 0, 
    showDataLabels: true, 
    dataLabels: labels, 
    dataLabelFormatString: "%s" 
} 
+0

Вы правы, я решил это, сделав dataLabelThreshold равным 0 – xurca

1

По умолчанию этикеток покажет процент, но если вы установите dataLabels свойство label метка передается в данных [] должна быть показана. Код для размещения меток в новом массиве не нужен. См третий пример в документации: 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 
     } 
+0

я попытался как dataLabels: «значение» и dataLabels: «ярлык», но все же он не показывает желтый значение среза. – xurca

+0

Вы пытались удалить массив вокруг данных? 'var piePlot = jQuery.jqplot ('pie-chart', [data],' to 'var piePlot = jQuery.jqplot ('pie-chart', data,' –

+0

yes и ничего не делает – xurca

Смежные вопросы