Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqPlot饼图数据标签不显示_Javascript_Jquery_Jqplot - Fatal编程技术网

Javascript jqPlot饼图数据标签不显示

Javascript jqPlot饼图数据标签不显示,javascript,jquery,jqplot,Javascript,Jquery,Jqplot,我有这样的饼图 其数据标签的值为[“”、20、1、3、“”、“”、“”、“”、“”、4、6、6], 它显示所有值没有任何问题,只是不显示值1。 我如何修复它或者它是jqPlot bug 我的代码是: function getPieChart(res) { var data = []; $.each(res, function (ind, resData) { data.push([resData.Stage, resData.Count]); });

我有这样的饼图
其数据标签的值为[“”、20、1、3、“”、“”、“”、“”、“”、4、6、6], 它显示所有值没有任何问题,只是不显示值1。 我如何修复它或者它是jqPlot bug

我的代码是:

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
          }
      }
    );
}
函数getPieChart(res){
var数据=[];
$.each(res,function(ind,resData){
data.push([resData.Stage,resData.Count]);
});
var dataLbl=[];
对于(变量i=0;i
默认情况下,标签将显示百分比,但如果将
dataLabels
属性设置为
label
则应显示在数据[]中传递的标签。将标签放入新数组的代码是不必要的。请参见文档中的第三个示例:

此外,您似乎已经使用
数据构建了[[]]。我不认为这应该进一步包装在一个数组中

var piePlot = jQuery.jqplot('pie-chart', data,
      {
        //ommitted
      }

我不知道你是否能解决这个问题,但问题是dataLabelThreshold设置

默认情况下,其值为3,因此不会显示低于此值的任何内容

尝试将其值设置为零(范围为0-100),如下所示

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

其他人已经声明需要将dataLabelThreshold设置为0。我想补充一点,您还应该将dataLabelPositionFactor设置为1.1这样的值,以使该值清晰可见

rendererOptions: { 
   dataLabelThreshold: 0, 
   dataLabelPositionFactor: 1.1,
}

见相关问题

我尝试了dataLabels:'value'和dataLabels:'label',但它仍然没有显示黄色的切片值。是否尝试删除数据周围的数组
var piePlot=jQuery.jqplot('pie-chart',[data],
var piePlot=jQuery.jqplot('pie-chart',data,
如果在调用jqGrid之前将数据记录到控制台,您会收到什么?数据本身是两个索引数组[“新建”,0],“短名单”,20],“访谈”,1],“测试”,3]....@xurca这是一个关于数据的问题,这个简单的测试用例工作得很好:你是对的,我通过使dataLabelThreshold等于0来解决它
rendererOptions: { 
   dataLabelThreshold: 0, 
   dataLabelPositionFactor: 1.1,
}