【发布时间】:2012-05-02 21:42:02
【问题描述】:
我正在使用 Google 图表工具,特别是 Pie Chart。
自然,如果一个项目的值为 0,它就不会显示在饼图中(因为它占据了饼图的 0%)。但是,它也不会显示在图例中。
如何操作初始化选项以在图例中仍然显示 0 值项目,以便用户可以看到该项目存在,它只是具有 0 值?
【问题讨论】:
标签: javascript google-visualization
我正在使用 Google 图表工具,特别是 Pie Chart。
自然,如果一个项目的值为 0,它就不会显示在饼图中(因为它占据了饼图的 0%)。但是,它也不会显示在图例中。
如何操作初始化选项以在图例中仍然显示 0 值项目,以便用户可以看到该项目存在,它只是具有 0 值?
【问题讨论】:
标签: javascript google-visualization
将sliceVisibilityThreshold 设置为零将解决您的问题。
function drawVisualization() {
// Create and populate the data table.
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 0],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
// Create and draw the visualization.
new google.visualization.PieChart(document.getElementById('visualization')).
draw(data, {title:"So, how was your day?",
sliceVisibilityThreshold:0
});
}
【讨论】:
我最近添加了 Google 图表,但在其中添加零值时遇到了问题。
感谢@ocanal,我使用了 sliceVisibilityThreshold:0,但以其他方式。
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['B-TRIPS', <?php echo $arr_get_a_org['total_trips']; ?>],
['Reimbursed', <?php echo $arr_get_a_org['reimbursed_trips']; ?>],
['Approved', <?php echo $arr_get_a_org['approved_trips']; ?>],
['Pending', <?php echo $arr_get_a_org['pending_trips']; ?>]
// ['Sleep', <?php echo $arr_get_a_org['total_trips']; ?>]
]);
var options = {
title: 'OVERVIEW',
backgroundColor:'#e2e1e0',
pieSliceText:'value',
sliceVisibilityThreshold :0
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
随着选项定义方式的改变,更多信息请查看Google Chart site
【讨论】:
我所做的草图很多,但产生了我正在寻找的结果。我正在使用 Google Apps 脚本编辑器本身并使用 excel 公式来强制显示 0%。
=IF(<formula> = 0%, 1E-20%, <formula>)
基本上,在 excel 列值中,如果值为 0(或在我的情况下为 0%),我会将该单元格替换为 1-E20%。它模拟了一个实际值(因此显示在图例中),但其他值仍将加起来为 100%,因为该值非常小,不会影响饼图。
【讨论】: