以对数刻度显示 Google 地理图表

Display Google Geochart in log scale

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

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

GeoChart 中没有对数刻度选项。

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

加载数据时,使用对象表示法,其中...

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>