The tooltips can be set to display percentages using the following code:
var formatter = new google.visualization.NumberFormat({ fractionDigits: 2, suffix: '%' }); formatter.format(data, 1); // Apply formatter to first column.
Is there a way for NumberFormat to multiply each element by 100? Otherwise the tooltip appears as .50%.
I am using vAxis.format = "format:'#%' "
which does multiply by 100. So .5 is displayed as 50% on the vertical axis.
According to the documentation(icu-project.org/apiref), this can be overwritten by enclosing the % in single quotes, but this did not work.
The net result is that the tooltips do not match the axis. What is the best way to do this?
Thanks.
I got this working by specifying a formatter exactly as you do:
The
1
in the last call means the second column, in which I have float values.Then I specify a format for the axis in the chart options, escaping the percentage sign as pointed out by documentation and others here:
I then draw the chart:
This renders a left side axis with values like
10%
,20%
and so on. And the tooltips looks like the default one but with a percentage like10.10%
,20.20%
and so on.If you want two fraction digits in the left side axis as well, use this as format in the chart options instead:
Ok... So this is a little late. I admit I didn't need this seven years ago. Nevertheless, this worked for me.
In my case, I am using four columms, two of which are assigned to the right axis with percentages. I wanted those columns' tooltips to reflect the proper percentage rather than the decimal representation.
Here is a link to the Google docs:
I hope this helps some random stranger looking for it. ;)
Thanks to http://groups.google.com/group/google-visualization-api/
You must surround the percent (%) symbol itself in single quotes.
The line I used to do this looks like this:
options['vAxis'] = {'format': "#,###'%'"};
Combining this with your formatter above, you can make the vertical axis have a percent symbol and also make the tooltip include it too.