Google Chart Combo图形将100视为0.1

时间:2018-09-20 07:29:17

标签: javascript php google-visualization

我对Google图表组合图有一个奇怪的问题。我在一个轴上有€值,在另一轴上有%。一切正常,直到%值超过100为止。默认情况下,图形按如下方式划分:working graph

但是当值超过100时,它将更改为:non working graph

这是我的图形生成的代码

<script type="text/javascript">
  google.charts.load('current', {'packages':['corechart']});
  google.charts.setOnLoadCallback(drawVisualization);

  function drawVisualization() {
    // Some raw data (not necessarily accurate)
    var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);
var options = {

  vAxis: {title: 'Value (€)'},
  hAxis: {title: 'Audit Date'},
  legend:{position: 'top', maxLines:2},
  seriesType: 'bars',
  series: {
      3: {type: 'line', targetAxisIndex:0},
      4: {type: 'line', targetAxisIndex:1}
      },
  vAxes: {
    1: {
      title:'Gross Profit %',
      textStyle: {color: 'green'}
    }
}};

var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>

并使用数据库中的结果生成数组,然后将其推入数组,然后将其转换为json

$temp[] = array('v' => (float) $wastage);
$temp[] = array('v' => (float) $purchases);
$temp[] = array('v' => (float) $sales);
$temp[] = array('v' => (float) $labour);
$temp[] = array('v' => (float) $gp_per);
$rows[] = array('c' => $temp);

$table['rows'] = $rows;
$jsonTable = json_encode($table);

似乎将值100转换为0.1,但是为什么会发生这种情况以及如何防止呢?

1 个答案:

答案 0 :(得分:0)

我想图表会因将百分比值增加到100以上而导致错误,从而导致图表空白。

您可以尝试为此添加最大值100,因为这是一个百分比。这可以通过添加垂直轴来完成。

  vAxes: {
    1: {
      title:'Gross Profit %',
      textStyle: {color: 'green'},
      maxValue: 100
    }
}};

有关诸如此类的配置选项列表,您可以在此处查看页面底部:https://developers.google.com/chart/interactive/docs/gallery/linechart