为什么我的addSeries(在高图表中)只显示系列的名称,而不显示实际的饼图本身
Why does my addSeries (in highcharts) only display names of the series but not the actual pie chart itself
当尝试将系列添加到Highcharts piechart时,只显示系列的名称,而不显示图形本身。
如果我手动输入序列,图表会正确显示,但当它通过.每个循环完成时,它只显示添加的序列名称。
这是我的代码:
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);
相关文章:
- 在高图表中,每x步只显示标签
- 高图表不显示来自csv文件的数据
- 高图表在点单击时显示工具提示
- 同时在高图表中显示多个工具提示
- 日期不能显示在高图表上
- 当间隔之间的范围高时,在高图表中显示y轴上的整个值
- 使用节点下载高图表数据,但不在浏览器中显示
- 隐藏并显示高图表图例
- 为什么我的addSeries(在高图表中)只显示系列的名称,而不显示实际的饼图本身
- 在高图表中显示一个状态的总时间之和
- 高图表错误 #15,图形显示正确
- 如何在高图表的基本柱形图中隐藏/显示列
- 动态显示实时高图表数据,无需警报
- 由于未定义的序列,不显示高图表最近点工具提示
- 不显示高图表单点数据
- 格式化 JSON 以显示高图表的格式
- 在其他文件中提交表单后显示高图表
- 显示高图表并使用 php 从 mysql 数据库中获取图表的数据
- 如何在点击按钮时隐藏/显示高图表的滚动条和范围选择器
- 从远程元素突出显示高图表系列