在饼图上显示工具提示时,Highcharts 3.0似乎有浮点数精度问题 . 我能够通过使用一个highcharts演示饼图--Pie with Legend来重新创建确切的错误 . 单击"Edit in JsFiddle"编辑javascript .
在javascript面板中,查找系列和数据部分 . 保留Firefox和IE数据并丢弃其余数据,这样我们就可以专注于2片馅饼 . 两个数据夹头没有百分比加起来,因此highcharts将重新计算我们的百分比 . 单击顶部的“运行”按钮,将鼠标悬停在切片上,百分比非常准确,最大小数位数 . 但是等一下,看看javascript工具提示选项,highcharts显然忽略了“percentageDecimals:1”设置 . 这是问题#1 .
现在让我们手动编辑数据百分比,如下所示:['Firefox',57.7],['IE',42.3]所以它们确实加起来恰好是100.0 . 再次点击运行按钮,切片工具提示显示'Firefox:57.0000000000001%'和'IE:42.3%' . 无论百分比是否加起来,看起来都是百分比重新计算,因此这里引入了一个小的浮点不准确 . 这是问题#2 . 如果在这种情况下“percentageDecimals”舍入工作,这个问题可能是伪装的 .
我想知道:*其他人看到同样的问题并进行某种解决方法吗? * highcharts能否回应这些问题并让我们知道他们是否已知错误?
4 回答
根据Billy Reverb的评论回答这个问题:
只需替换此属性:
为了这:
一个更简单的解决方案是使用
在pointFormat字符串中
对我来说,upvoted解决方案不起作用:
但是这样做了:
在你去头桌前,然后尝试格式化百分比 .
以下是一些方法:
(Math.round(this.point.percentage*100)/100) + ' %'
Highcharts.numberFormat(this.percentage, 1) + '%'
this.percentage.toFixed(1)
{point.percentage}% or {point.percentage:.1f}%
我经常在工具提示和标签中使用#4,而不使用自定义格式化程序功能 .