显然谷歌可视化饼图不喜欢非常小的值。我创建了一个 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/