gpt4 book ai didi

javascript - 为什么我的 addSeries(在 highcharts 中)只显示系列的名称而不是实际的饼图本身

转载 作者:行者123 更新时间:2023-11-30 17:03:27 25 4
gpt4 key购买 nike

尝试将系列添加到 Highcharts 饼图时,仅显示系列的名称,而不显示图形本身。

如果我手动输入系列,图表会正确显示,但当它通过 .each 循环完成时,它只显示添加的系列名称。

这是我的代码:

function my_pie(){
// Build the chart
$('#pie_chart').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
marginBottom: 0,
spacingTop: 0,
marginTop:0,
marginLeft:50,
marginRight:50
},
credits:{
enabled:false
},
title: {
text: ''
},
tooltip: {
pointFormat: '{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: false
}
},
series: [{
type: 'pie',
name: 'Innehav',
data: [ ]
}]
});

var chart = $('#pie_chart').highcharts();

$.each(data_array, function( index, value ) {
chart.addSeries({
name: index,
y: parseInt(value)
}, false);
});
chart.redraw();
};

这是 console.log(data_array) 的输出

Object {Ja: "272", Nej: "30", Vet ej: "1"}

更新:以下是 data_array 的生成方式(我添加了 num_check 以使值成为整数)

var data_array = <?php echo json_encode($data_pie, JSON_NUMERIC_CHECK ) ?>;

现在 console.log(data_array) 看起来像这样:

 Object {Ja: 272, Nej: 30, Vet ej: 1}

最佳答案

饼图只是一个系列,而不是像其他类型那样是多个系列。您应该改为添加值:

$.each(data_array, function( index, value ) {
chart.series[0].addPoint({
name: index,
y: parseInt(value)
}, false);
});
chart.redraw();

或者更好,使用setData:

var data = []
$.each(data_array, function( index, value ) {
data.push( [index, parseInt(value) ]);
});
chart.series[0].setData(data);

关于javascript - 为什么我的 addSeries(在 highcharts 中)只显示系列的名称而不是实际的饼图本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com