4

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

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

为了满足 SO 验证器,这是我的 JS 代码:

函数 drawChart() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Race'); data.addColumn('数字', '百分比'); 数据.addRows(4); data.setValue(0, 0, '黑人,非西班牙裔'); data.setValue(0, 1, 1370); data.setValue(1, 0, '西班牙裔'); data.setValue(1, 1, 40); data.setValue(2, 0, '白人,非西班牙裔'); data.setValue(2, 1, 537); data.setValue(3, 0, '被抑制的类别'); 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);
4

1 回答 1

8

创建“其他”类别以按比例保存低于sliceVisibilityThreshold选项值的所有切片(默认为 1/720)。当“Suppressed Categories”值为 1 时,它是饼图的 1/1948(远低于阈值),因此被归入“Other”类别。您可以手动将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/

于 2013-10-24T17:20:32.007 回答