0

我正在使用 HighCharts 创建一个饼图,但我正在使用的数据集有一个负数。负数部分非常小,以至于饼图本身并不重要,但我在图例中遇到了显示问题。我发现了一个使用旧版本 highcharts.js 的旧演示,显示负数http://jsfiddle.net/AdW2Z/8/

 pie: {
        allowPointSelect: true,
        cursor: 'pointer',
        dataLabels: {
            enabled: false,
            formatter: function () {
                return this.point.positive ? this.y : this.y * (-1);
            },
            color: 'black',
            style: {
                font: '13px Trebuchet MS, Verdana, sans-serif'
            }
        },

我尝试使用相同的代码,但使用当前版本的 highcharts.js,但这就是我在图例中得到“null”的地方:http: //jsfiddle.net/bRZaw/1/

有什么想法可以解决这个问题吗?在过去的三天里,我一直在战斗。谢谢是提前!

4

3 回答 3

1

饼图应该代表总数的一部分,因此预计负数将不起作用,因为您不能拥有总数的负数部分。如果您需要表示负值,那么您可能应该使用另一种类型的图表。

如果您实际上只想显示该值(假设您说它总体上并不重要),请尝试将其包装在绝对值中,Math.abs(yourValue) 应该可以解决问题。

于 2013-07-03T21:51:09.330 回答
1

您可以通过如下更新为图例中的负数显示 0 labelFormatter

labelFormatter: function () {
    if (this.y === null) {
        return this.name + ': 0%';
    } else {
        return this.name + ': ' + this.y + '%';
    }
}

http://jsfiddle.net/bRZaw/3/

于 2013-07-03T21:59:13.493 回答
0

包含用户数据的原始对象可以在 中找到this.options.y,因此您始终可以使用该值,请参阅:http: //jsfiddle.net/bRZaw/9/

于 2013-07-09T09:25:02.803 回答