Javascript 我应该如何使用highchart';s方法setData()?
如何使用Javascript 我应该如何使用highchart';s方法setData()?,javascript,highcharts,Javascript,Highcharts,如何使用setData方法。我想我用错了 我已经设置了饼图: var pieChart = new Highcharts.Chart({ chart: { renderTo: 'pie-chart', plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, type: 'pie'
setData
方法。我想我用错了
我已经设置了饼图:
var pieChart = new Highcharts.Chart({
chart: {
renderTo: 'pie-chart',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie'
}, title: {
text: ''
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
name: getLang('name'),
colorByPoint: true,
data: []
}]
})
并重新绘制图表。如果我在添加新数据,而不是在更改现有数据并尝试以相同的方式提供数据(即更改它们并使用pieChart.series[0].setData(items,true)
我不明白应该如何使用
setData()
动态更改现有数据这就是您如何使用它的。不需要将true作为第二个参数发送,因为true是默认值。我会检查您发送的数据格式是否正确,并检查控制台是否有错误。另外:当你说它不起作用时,你具体的意思是什么?@jlbiggs我的意思是,图表没有变化,显然,图表中的数据也没有变化。我已经用console.log检查过了。当我发送数据中已经存在的其他长度的数组时,它工作,当我发送相同长度的数组时,它并不奇怪。您是否可以使用setData(项,真、真、假)代码>?若这并没有帮助,那个么试着传递项的副本,例如使用jQuery:setData($.extend([],items))代码>@PawełFussetData(项,真、真、假)代码>工作,但当然没有动画。仅当点的数目完全相同时,动画才存在。
[{"className":"className","name":"nameOfDevice","y":(float number percent)}]
//array contains objects