饼图中带小值的Google可视化问题

时间:2013-10-24 16:44:01

标签: javascript charts google-api google-visualization

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

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

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

function drawChart(){     var data = new google.visualization.DataTable();     data.addColumn('string','Race');     data.addColumn('number','Percent');     data.addRows(4);     data.setValue(0,0,'Black,non-Hispanic');     data.setValue(0,1,1370);     data.setValue(1,0,'西班牙裔');     data.setValue(1,140);     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);

1 个答案:

答案 0 :(得分:7)

创建“其他”类别以保存低于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/