Google可视化API中的逗号分隔数据


Comma Separated Data in Google Visualisation API

我使用Google Visualisation API中的GeoChart来创建包含站点使用信息的动态地图。由于度量值较大(8位数字),我需要用逗号分隔这些数字,以使地图更可读。我已经编写了一个函数,在这些数字上添加逗号,但这会导致API绘制地图时出错。

例如,当逗号分隔3列数据中的1列(国家/地区、访问量、唯一访问者)时,该列的标签将在国家/地区工具提示中删除。逗号分隔其中2列会导致整个映射失败,并出现"Expecting 2 columns"错误。这一定是由于没有转义数字字符串中的逗号,从而导致JSON数组中出现错误。我尝试插入'','而不是常规逗号,但没有成功。有什么解决办法或解决方案吗?

退一步说,我认为解决这个问题的更好方法是使用谷歌可视化中的NumberFormat类格式化原始数据,该类名为google.visualization.NumberFormat。更多信息请点击此处:google.visialization.NnumberFormat

以下是如何将第二列格式化为逗号作为分组分隔符的示例:

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'}}});
}

我使用谷歌可视化游乐场来测试它。

更新

修改了geochart.draw行以包含工具提示文本样式。它将设置工具提示中所有文本的样式。无论如何,我还没有看到进行细粒度定制。以下是更多信息:Geochart配置选项

根据CSV文件格式的官方规范,通过将数据用双引号括起来,可以在数据中包含逗号。

基本规则和示例:

任何字段都可以加引号(也就是说,用双引号括起来)。根据以下规则的规定,某些字段必须加引号。

"1997","Ford","E350"

带有嵌入逗号的字段必须加引号。

1997,Ford,E350,"Super, luxurious truck"