gpt4 book ai didi

javascript - 如何在不在 highcharts 中重新绘制的情况下更新条形图及其图例

转载 作者:行者123 更新时间:2023-11-28 05:30:02 26 4
gpt4 key购买 nike

我想更新堆叠条形图而不重新绘制它。数据来自 AJAX 请求。我的示例代码在这里 http://jsfiddle.net/my8646oc/47/

    $(function () {
$('#container').highcharts({

chart: {
type: 'bar',
animation: {
duration: 1000
}
},
plotOptions: {
series: {
stacking: 'normal'
}
},
legend: {
symbolHeight: '0',
layout: 'horizontal',
verticalAlign: 'top',
horizontalAlign: 'right',
labelFormatter: function() {
return '<span>' + this.name + ': ' + this.yData[ 0 ] + '</span>';
},

y: -15,
useHTML: true
},

xAxis: {
categories: []
},

series: [{
data: [29.9],
name: 'one'
},
{ data: [39.9],
name: 'two'
}]

});

var i = 1;
$('#update').click(function () {
var chart = $('#container').highcharts();
var newData = [{
data: [39.9],
name: 'one'
},
{ data: [49.9],
name: 'two'
}];
//chart.series[0].update({
// name: "TEST" + i++,
// data :
//});

var ctr,
count,
len = chart.series.length,
len2 = newData.length;
for ( ctr = 0; ctr < len; ctr = ctr + 1 ) {
for ( count = 0; count < len2; count = count + 1 ) {
if ( newData[ count ].name === chart.series[ ctr].name ) {
chart.series[ ctr ].setData( newData[ count ].data[ 0 ] );
delete newData[ count ];
break;
}
}
}


});
});

我尝试过使用 setData 并仅更新系列,在这种情况下,只有条形图正在更新,而不是图例。对此有任何适当的解决方案吗?有人吗??

最佳答案

我不知道 highcharts.js,但通过将数据列作为数组传递,图表就可以工作了。

chart.series[ ctr ].setData( newData[ count ].data[0] );

改为

chart.series[ ctr ].setData( newData[ count ].data );

更新演示

Demo

关于javascript - 如何在不在 highcharts 中重新绘制的情况下更新条形图及其图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38564590/

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