以日志比例显示Google Geochart

时间:2019-05-23 12:33:33

标签: charts google-visualization geo

我正在使用Google的geochart。我使用每个国家/地区的访问次数作为要显示的数据。但是,数据不是线性的。因此,我不想针对访问次数来绘制图表,而是想针对其日志值来绘制图表。基本上,我想使用对数刻度。我该怎么办?

我尝试将值手动转换为日志,并正确绘制,但工具提示显示日志值,而不是确切的访问计数。

1 个答案:

答案 0 :(得分:1)

GeoChart中没有日志比例选项。

但是您可以手动计算,然后在工具提示中显示实数,
通过更改数据表单元格的格式值。
默认情况下,工具提示将始终显示格式化的值。

在加载数据时,使用对象符号,其中...

v: =值 f: =格式化值

例如{v: 200, f: '300'}

使用上述方法,图表将使用200作为区域颜色或标记,
但在工具提示中显示300。

请参阅以下工作片段...

google.charts.load('current', {
  packages: ['geochart'],
  mapsApiKey: 'AIzaSyD-9tSrke72PouQMnMX-a7eZSW0jkFMBWY'
}).then(function () {
  var data = google.visualization.arrayToDataTable([
    ['Country', 'Popularity'],
    ['Germany', {v: 200, f: '300'}],
    ['United States', {v: 300, f: '400'}],
    ['Brazil', {v: 400, f: '500'}],
    ['Canada', {v: 500, f: '600'}],
    ['France', {v: 600, f: '700'}],
    ['RU', {v: 700, f: '800'}]
  ]);

  var container = document.getElementById('chart_div');
  var chart = new google.visualization.GeoChart(container);
  chart.draw(data, {
    legend: 'none'
  });
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>