饼图中值较小的谷歌可视化问题

Google Visualization Issue with Small Values in Pie Chart

本文关键字:谷歌 可视化 问题      更新时间:2023-09-26

显然谷歌可视化饼图不喜欢非常小的值。我创建了一个 JSfiddle 来演示这个问题:http://jsfiddle.net/technotarek/YRKHd/

当您加载小提琴时,您将看到饼图有四个类别,正如人们在第 6-13 行检查 JS 所期望的那样。现在,尝试将 JS 第 13 行中的第三个值从 5 更改为 1,然后运行小提琴。您将看到它将饼图上的标签更改为"其他"的新标签。谁能想出解决这个问题的方法?(这在我的情况下尤其成问题,因为我们在某些情况下使用标签"其他"来表示数据中完全不同的组。

为了满足SO验证器的要求,这是我的小提琴JS代码:

函数 drawChart() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Race'); data.addColumn('number', 'Percent'); data.addRows(4); data.setValue(0, 0, '黑人,非西班牙裔'); data.setValue(0, 1, 1370); data.setValue(1, 0, 'Hispanic'); data.setValue(1, 1, 40); data.setValue(2, 0, '白人,非西班牙裔'); data.setValue(2, 1, 537); data.setValue(3, 0, 'Suppressed Categories'); data.setValue(3, 1, 5);

var chart = new google.visualization.PieChart(document.getElementById('chart'));
chart.draw(data, {
                    width: 650,
                    height: 500,
                    fontSize: 11,
                    chartArea:{
                            top:20,
                            left:100
                            },
                    colors:
                        [
                        '8d2300','FE9929','D95F0E','000000',                            ]
});
}      
google.load('visualization', '1', {packages: ['corechart']});
google.setOnLoadCallback(drawChart);
创建

"其他"类别是为了按比例保存低于sliceVisibilityThreshold选项值的所有切片(默认值为 1/720)。 当"禁止类别"值为 1 时,它是饼图的 1/1948(远低于阈值),因此被分组到"其他"类别中。 您可以手动将sliceVisibilityThreshold选项设置为所需的任何值(0 强制绘制所有切片,无论其相对大小如何):

chart.draw(data, {
    width: 650,
    height: 500,
    fontSize: 11,
    chartArea:{
        top:20,
        left:100
    },
    colors:['8d2300','FE9929','D95F0E','000000'],
    sliceVisibilityThreshold: 0
});

JSFIDDLE 链接: http://jsfiddle.net/asgallant/YRKHd/10/