javascript - 当我更新我的系列数据时,为什么我的 HighChart 饼图图例表现不稳定?

标签 javascript highcharts

我有一个半圆形 donut 饼图,我已经成功地能够在运行时将数据传递给它。图例和工具提示都运行良好,并显示了正确的数据。

工具提示显示了金额和百分比值。图例用于显示金额值,但我需要将其更改为百分比。我没想到这会很难,但由于某种原因,百分比值的行为非常奇怪。系列中的第一个数据将始终显示先前更新的百分比。其他人我什至不明白他们在做什么。它们似乎也在遵循它们先前值的模式,但似乎与第一个数据相关的某些东西似乎影响了它们。它们加起来甚至还不到 100%。

我一直在试图弄清楚在更新系列值和图例时是否有指定的必需顺序或要遵循的顺序,但我无法弄清楚。如果我将 this.percentage.toFixed(1)this.y 切换,它会再次工作,但随后使用的是金额而不是百分比。

我已经在 J​​SFiddle 中重现了错误: http://jsfiddle.net/kuF3q/

对于这个例子,我使用了 Math.random() 来模拟新数据,如下所示:

    chart.series[0].data[0].update(Math.random());
chart.series[0].data[1].update(Math.random());
chart.series[0].data[2].update(Math.random());
chart.series[0].data[3].update(Math.random());
chart.series[0].data[4].update(Math.random());
chart.series[0].data[5].update(Math.random());
chart.series[0].data[6].update(Math.random());

注意工具提示值和图例值之间的区别。关于我做错了什么的任何想法?

最佳答案

我不确定你的例子为什么会出错,但你可以像这样使用 chart.series.setData 让它工作:

function newData(){    
     var newData = [Math.random(),Math.random(),Math.random(),Math.random(),Math.random(),Math.random(),Math.random()];
     chart.series[0].setData(newData);    
}

http://jsfiddle.net/QwLR7/

请注意,setData 默认重绘图表。 http://api.highcharts.com/highcharts#Series.setData .

关于javascript - 当我更新我的系列数据时,为什么我的 HighChart 饼图图例表现不稳定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24369367/

相关文章:

javascript - React 和 Firebase : adding date to database causes listener to trigger twice?

javascript - 使用 jQuery 或 jQTouch 的幻灯片转换脚本

javascript - Highcharts : Add xaxis dynamically doesn't consider what type I give it

javascript - 渲染动态数量的 highcharts 图表不起作用

javascript - Utilities.formatString() 新 Apps 脚本方法,未按预期工作

javascript - 如何在 Google Chrome javascript 调试器中单步执行代码

javascript - 变量未正确更新

javascript - Highcharts 在 Y 轴上重复相同的标签值

javascript - 如何在 Highcharts 中具有相同的悬停点颜色?

highcharts - 在 Highcharts 中使用对象数组作为系列数据