Skip to content
Advertisement

Comma Separated Data in Google Visualisation API

I’m using GeoChart from the Google Visualisation API to create a dynamic map containing site usage information. Due to the large metric values (8 digits), I need to comma separate these numbers to make the map more readable. I’ve written a function that adds commas to these number, but this then causes errors with the API drawing the map.

For example, when comma separating 1 of the 3 columns of data (Country, Visits, Unique Visitors), the label for that column will be removed in the country tool tips. Comma separating 2 of the columns then leads to the entire map failing, with an ‘Expecting 2 columns’ error. This must be due to the commas in the number string not being escaped and therefore causing errors in the JSON array. I’ve tried inserting ',' instead of a regular comma to no avail. Any work arounds or solutions?

Advertisement

Answer

Taking a step back I think the better way to solve the problem is to format your raw data using the NumberFormat class in google visualizations called google.visualization.NumberFormat. More info here: google.visualization.NumberFormat

Here is an example of how to format the 2nd column to have commas as the grouping separator:

function drawVisualization() {
  var data = google.visualization.arrayToDataTable([
    ['Country', 'Popularity'],
    ['Germany', 200],
    ['United States', 300],
    ['Brazil', 400],
    ['Canada', 500],
    ['France', 60000000000000000],
    ['RU', 700]
  ]);

  var formatter = new google.visualization.NumberFormat({pattern:'###,###'} );
  formatter.format(data, 1);
  
  var geochart = new google.visualization.GeoChart(
      document.getElementById('visualization'));
  geochart.draw(data, {width: 556, height: 347, tooltip: {textStyle: {color: 'blue', fontName: 'Tahoma', fontSize: '15'}}});
}

I used the google visualization playground to test it out.

Update

Modified the geochart.draw line to include tooltip text styling. It will style the all of the text in the tooltip. I haven’t seen anyway to make fine grain customizations. Here is more info: Geochart Configuration Options

Advertisement