我正在尝试绘制具有对数比例的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}}
);
}
答案 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