2

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

例如,当用逗号分隔 3 列数据中的 1 列(国家/地区、访问次数、唯一身份访问者)时,该列的标签将在国家/地区工具提示中删除。逗号分隔 2 列然后导致整个地图失败,并出现“预期 2 列”错误。这一定是由于数字字符串中的逗号没有被转义,因此导致 JSON 数组中的错误。我尝试插入'\,'而不是常规逗号无济于事。任何解决方法或解决方案?

4

2 回答 2

5

退后一步,我认为解决问题的更好方法是使用 Google 可视化中名为 google.visualization.NumberFormat 的 NumberFormat 类来格式化原始数据。更多信息:google.visualization.NumberFormat

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

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 配置选项

于 2012-07-30T17:17:18.127 回答
1

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

基本规则和例子

任何字段都可以被引用(即,包含在双引号字符中)。某些字段必须引用,如以下规则中所指定。

"1997","Ford","E350"

必须引用嵌入逗号的字段。

1997,Ford,E350,"Super, luxurious truck"
于 2012-07-30T17:00:48.103 回答