Google Charts:minValue不适用于logScale

时间:2011-08-08 16:20:05

标签: javascript google-visualization

我正在尝试绘制具有对数比例的Google条形图。但是,它从1开始,而不是0.这看起来像坏数据,因为具有一个值的条目在没有条形的情况下呈现。我尝试将minValue设置为零,但当logScale为true时,它似乎不会受到尊重。

甚至可能有一个从零开始的对数标度?

以下是一些代码,可以在visualization playground上重现问题:

function drawVisualization() {
// Create and populate the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('number', 'Age');
        data.addColumn('number', 'Weight');
        data.addRows(6);
        data.setValue(0, 0, 8);
        data.setValue(0, 1, 12);
        data.setValue(1, 0, 4);
        data.setValue(1, 1, 5.5);
        data.setValue(2, 0, 11);
        data.setValue(2, 1, 14);
        data.setValue(3, 0, 4);
        data.setValue(3, 1, 4.5);
        data.setValue(4, 0, 3);
        data.setValue(4, 1, 3.5);
        data.setValue(5, 0, 6.5);
        data.setValue(5, 1, 7);

  // Create and draw the visualization.
  new google.visualization.BarChart(document.getElementById('visualization')).
      draw(data,
           {title:"Yearly Coffee Consumption by Country",
            width:600, height:400,
            vAxis: {title: "Year"},
            hAxis: {title: "Cups", minValue: 0, logScale: true}}
      );
}

2 个答案:

答案 0 :(得分:5)

对数刻度不能为0(或负值),因为log(0)= -infinity。但是,您可以将minValue设置为较低的值,例如0.1,0.001或任何适合您数据的值。

答案 1 :(得分:5)

这是相当陈旧的,但是在google搜索中出现了,所以我将把这个指针放在这里......有一个未记录的选项“scaleType”:“mirrorLog”支持对数刻度中的负值/零值(通过切换到小值的线性)。

另见https://code.google.com/p/google-visualization-api-issues/issues/detail?id=984