我使用Google图表javascript API渲染柱形图,其中某些值可能低于1%。当我渲染这些值时,条形图呈现在图形的基线下方。如果这些值>> = 1则会正确呈现它们。根据{{3}}:“如果为真,则使垂直轴成为对数刻度注意:所有值必须为正。” - 它们是正数。
这是我正在经历的图像。
如何获得0< 0的所有值? v< 1高于x轴?
我已经取得了一些成功,将所有百分比乘以100(所以从十进制格式得到10000),然后具体地将每个列标签设置为正确的百分比,但是y轴(垂直轴)则具有网格线的值但是没有正确表示数据集。
正如您所看到的,下面呈现的值非常小。请注意,这不仅适用于具有非常大的值且非常小的数据集。我用~100的数据集体验了这一点,并且所有值都<1。 4%。
Google charts API reference on logScale
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);
}
答案 0 :(得分:1)
在另一个问题中找到答案,但解决方法是在选项中使用未记录的功能:scaleType:"mirrorLog"
var options = {
title: 'Company Performance',
vAxis: {title: 'Year', titleTextStyle: {color: 'red'}, logScale: true, scaleType:"mirrorLog"}
};
此处详细信息:ScaleType Google question