19

我有以下代码:

function drawVisualization() {
  // Create and populate the data table.
  var data = google.visualization.arrayToDataTable([
    ['Year', 'People'],
    ['2010',0]
  ]);

  // Create and draw the visualization.
  new google.visualization.ColumnChart(document.getElementById('visualization')).
      draw(data,
           {title:"Yearly Coffee Consumption by Country",
            width:600, height:400,
            hAxis: {title: "Year"},
            backgroundColor: 'none'
           }
      );
}

这给了我下面的图表图表

如何避免在 yAxis 中显示负值?我试过添加 vAxis: {minValue:0}没有任何运气。

这些图表有一个游乐场/沙箱:Google Charts Playground

​</p>

4

3 回答 3

57

您需要将 viewWindowMode 设置为显式

vAxis: {viewWindowMode: "explicit", viewWindow:{ min: 0 }}
于 2012-06-22T17:25:48.193 回答
4

viewWindowMode: "explicit"在当前版本中已弃用,它使用vAxis.viewWindow.min

vAxis: {
    viewWindow: {
        min: 0
    }
}
于 2016-01-19T08:14:54.140 回答
0

它对我不起作用。我需要添加最大值:max:1

负轴仅在所有值都为 0 时出现,因此,为了不在最大值范围内,我只在没有正值时放置 vAxis(使用 PHP)。

我的代码示例是:

                $hayPositivos = false;
            foreach($valores as $valor){
                $html[]=",
                ['".$valor['dia']."', ".intval($valor['validadas']).",      ".intval($valor['totales'])."]";
                if(!$hayPositivos && (intval($valor['validadas']) >0 || intval($valor['totales']) >0)){
                    $hayPositivos = true;
                }
            }

                    $html[]="]);

                    var options = {
                      title: '".t('News by time:').$periodo_nombre."',
                      legend: { position: 'bottom' }";
                    if(!$hayPositivos){
                        $html[] = ",
                        vAxis: {
                          viewWindow: {min: 0, max:1}
                        }";
                    }
                      
                    $html[] = "};

这就是它的外观:

如果所有值都是负数

如果有任何正值

于 2021-07-01T09:49:40.320 回答