I'm trying to draw a Google bar chart with a logarithmic scale. However, it starts at 1, not 0. This looks like bad data because entries with one value are rendered with no bar. I tried settingminValue
to zero, but it won't seem to honor that when logScale is true
.
Is it even possible to have a logarithmic scale that starts at zero?
Here's some code that reproduces the problem on the 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}}
);
}
This article relies excessively on references to primary sources. Please improve this by adding secondary or tertiary sources. The Google Chart API is an interactive Web service (now deprecated) that creates graphical charts from user-supplied data.
You cannot have 0 (or a negative value) on a logarithmic scale because log(0) = -infinity. You can however set the the minValue to a low value, like 0.1, 0.001, or whatever suits your data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With