【发布时间】:2019-10-10 00:50:06
【问题描述】:
我使用的是 Google 的 geochart。我使用每个国家的访问次数作为要显示的数据。但是,数据不是线性的。因此,我不想将其与访问次数进行对比,而是将其与对数值进行对比。基本上,我想使用对数刻度。我该怎么做?
我尝试手动将这些值转换为日志并且绘制正确,但工具提示显示的是日志值而不是确切的访问次数。
【问题讨论】:
标签: charts google-visualization geo
我使用的是 Google 的 geochart。我使用每个国家的访问次数作为要显示的数据。但是,数据不是线性的。因此,我不想将其与访问次数进行对比,而是将其与对数值进行对比。基本上,我想使用对数刻度。我该怎么做?
我尝试手动将这些值转换为日志并且绘制正确,但工具提示显示的是日志值而不是确切的访问次数。
【问题讨论】:
标签: charts google-visualization geo
GeoChart 中没有对数刻度选项。
但您可以手动计算,然后在工具提示中显示实数,
通过更改数据表单元格的格式化值。
默认情况下,工具提示将始终显示格式化值。
加载数据时,使用对象表示法,其中...
v: = 值
f: = 格式化值
例如{v: 200, f: '300'}
使用上述方法,图表将使用 200 作为区域颜色或标记,
但在工具提示中显示 300。
请参阅以下工作 sn-p...
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>
【讨论】: