Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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 Can';t为图例点指定名称_Javascript_Highcharts - Fatal编程技术网

Javascript Can';t为图例点指定名称

Javascript Can';t为图例点指定名称,javascript,highcharts,Javascript,Highcharts,pData是我通过ajax调用从服务器得到的响应 success: function(pData) { var data = pData.row; var items = data; name = items.map(function(el) { return el.NAME; }); broj = items.map(function(el) { return el.Y; }); var chart =

pData
是我通过
ajax
调用从服务器得到的响应

success: function(pData) {
    var data = pData.row; 
    var items = data;
    name = items.map(function(el) {
        return el.NAME;
    });
    broj = items.map(function(el) {
        return el.Y;
    });
    var chart = new Highcharts.Chart({
        chart: {
            type: 'pie',
            renderTo: 'chart4',                

        },
  tooltip: {
    formatter: function() {
      return '<b>'+ this.point.name +'</b>: '+ this.y +' %';
    }
  },
        plotOptions: {
            pie: {
                showInLegend: true
            }
        },
        series: [{
            data: broj
        }],
        credits: false,
        title: false
    });
}
成功:功能(pData){
var data=pData.row;
var项目=数据;
name=items.map(函数(el){
返回el.NAME;
});
broj=items.map(函数(el){
返回el.Y;
});
var图表=新的Highcharts.图表({
图表:{
键入“pie”,
renderTo:‘图表4’,
},
工具提示:{
格式化程序:函数(){
返回“+this.point.name+”:“+this.y+”%”;
}
},
打印选项:{
馅饼:{
showInLegend:对
}
},
系列:[{
资料来源:broj
}],
学分:假,
标题:假
});
}
演示:


我得到的数据是好的,唯一缺少的是每个pice切片都被命名为“切片”,我不知道如何用我从服务器得到的数据调用饼图的每个部分(它包含在
名称
数组中)。

似乎传递给Highchart(项目)的数据是一个数字数组。您需要为其添加标题,如:

   series: [{

        data: [
            ['title1',   10],
            ['title2',    9],
            ['title3',    8],
            ['title4',    7],

        ]
    }]
这将为您的切片添加标题。对于您的代码,您可以在映射到
broj
时做一些更改:

  broj = items.map(function(el) {
        return [el.NAME, el.Y];
  });

然后剩下的代码就可以工作了()

你能创建一个JSFIDLE吗?我添加了一个演示,也许可以帮助你弄清楚我是如何传递数据的。@Paran0a我在你的FIDLE上做了上面提到的小改动,它可以工作了now@Paran0a我加了一把小提琴。非常感谢。