gpt4 book ai didi

javascript - 对数渲染值低于基线的 Google 柱形图

转载 作者:行者123 更新时间:2023-12-03 11:13:39 25 4
gpt4 key购买 nike

问题

我正在使用 Google 图表 javascript API 渲染柱形图,其中某些值可能低于 1%。当我渲染这些值时,条形图将呈现在图表基线下方。如果这些值 >= 1,则它们会正确呈现。根据Google charts API reference on logScale :“如果为真,则使垂直轴成为对数刻度注意:所有值都必须为正。” - 它们都是正数。

这是我所经历的图像。

Chart in question

问题

如何获取 x 轴上方 0 < v <1 的所有值?

我已经取得了一些成功,将所有百分比乘以 100(因此从十进制格式来看,它将是 10000),然后将每个列标签具体设置为正确的百分比,但是 y 轴(垂直轴)则具有网格线的值不能正确表示数据集。

正如您所看到的,下面呈现了非常小的值。请注意,这不仅仅适用于具有非常大的值和非常小的值的数据集。我在大约 100 个数据集(所有值 < 4%)中经历过这种情况。

<小时/>

重现

JSFiddle for your convience here

HTML:

<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['corechart']}]}"></script>
<div id="chart_div" style="width: 900px; height: 500px;"></div>

Javascript:

google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales'],
['2004', .23],
['2005', 1.23],
['2006', 88],
['2007', 1.12],
['2008', 9.65]
]);

var options = {
title: 'Company Performance',
vAxis: {title: 'Year', titleTextStyle: {color: 'red'}, logScale: true}
};

var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));

chart.draw(data, options);
}

最佳答案

在另一个问题中找到答案,但解决方案是在选项中使用未记录的功能:scaleType:"mirrorLog"

var options = {
title: 'Company Performance',
vAxis: {title: 'Year', titleTextStyle: {color: 'red'}, logScale: true, scaleType:"mirrorLog"}
};

完整详细信息请参见:ScaleType Google question

关于javascript - 对数渲染值低于基线的 Google 柱形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27442623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com