28

我正在使用 Google Charts Tools,特别是Pie Chart

自然,如果一个项目的值为 0,它就不会显示在饼图中(因为它占据了饼图的 0%)。但是,它也不会显示在图例中。

如何操作初始化选项以在图例中仍然显示 0 值项目,以便用户可以看到该项目存在,它只有一个 0 值?

4

3 回答 3

73

设置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
                 });
}
​
于 2012-05-02T21:54:52.887 回答
4

我最近添加了 Google Charts 并且在其中遇到了问题,因为在其中添加了零值。
感谢@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 网站

于 2017-07-26T11:09:19.033 回答
0

我所做的要粗略得多但产生了我想要的结果。我正在使用 Google Apps 脚本编辑器本身并使用 excel 公式来强制显示 0%。

=IF(<formula> = 0%, 1E-20%, <formula>)

基本上,在 excel 列值中,如果值为 0(或在我的情况下为 0%),我会用 1-E20% 替换该单元格。它模拟了一个实际值(因此显示在图例中),但其他值仍将加起来为 100%,因为该值非常小,不会影响饼图。

于 2020-04-27T20:42:33.630 回答