Google Visualization API中的逗号分隔数据

时间:2012-07-19 10:15:29

标签: php javascript jquery json google-visualization

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

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

2 个答案:

答案 0 :(得分:5)

退一步我认为解决问题的更好方法是使用名为google.visualization.NumberFormat的Google可视化中的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'}}});
}

我使用google visualization playground来测试它。

祝你好运!上帝保佑!

更新:修改了geochart.draw行以包含工具提示文字样式。它将为工具提示中的所有文本设置样式。我还没有看到做出精细的谷物定制。以下是更多信息:Geochart Configuration Options

答案 1 :(得分:1)

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

Basic rules and examples

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

"1997","Ford","E350"

必须引用包含逗号的字段。

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