2017-02-21 54 views
0

我有一個谷歌圖表工作正常,如果有一些數據。但有時候沒有數據可以顯示。在這種情況下,vAxis自動決定只顯示3個值:0.0,0.5和1.0。在我的情況下,只顯示整數是有意義的。所以我試圖用如何在Google圖表中設置vAxis的最小時間間隔?

vAxis: { viewWindow: { min: 0 }, format: 0 } 

但隨後只圍捕,並顯示:0,1,1,我寧願需要的1分鐘時間看值:0,1,2,依此類推。

我該如何做到這一點?

請隨時與這個小提琴一起玩:click here

回答

0

根據WhiteHat的建議,這裏是我對這個問題的自定義解決方案。我沒有找到某種谷歌圖表選項一個簡單的方法,但是這是一個簡單的解決方法這不正是我需要的:

google.charts.load('current', { 
 
    callback: drawChart, 
 
    packages: ['corechart'] 
 
}); 
 

 
var maxValue = 7; 
 

 
function drawChart() { 
 
    var data = new google.visualization.DataTable(); 
 
    data.addColumn('date', 'Date'); 
 
    data.addColumn('number', 'Count'); 
 
    data.addRows([ 
 
    [new Date(2017, 1, 1), 0], 
 
    [new Date(2017, 1, 2), 0], 
 
    [new Date(2017, 1, 3), 7], 
 
    [new Date(2017, 1, 4), 0], 
 
    [new Date(2017, 1, 5), 0], 
 
    ]); 
 

 
    var options = { 
 
    title: 'Test', 
 
    legend: 'none', 
 
    width: 450, 
 
    height: 500 
 
    }; 
 

 
options["vAxis"] = (maxValue < 5) ? { viewWindow: { min: 0 }, ticks: [0, 1, 2, 3, 4] } : 
 
        (maxValue < 9) ? { viewWindow: { min: 0 }, ticks: [0, 2, 4, 6, 8] } : 
 
        (maxValue < 13) ? { viewWindow: { min: 0 }, ticks: [0, 3, 6, 9, 12] } : { viewWindow: { min: 0 } }; 
 

 
    var linearChart = new google.visualization.LineChart(document.getElementById('div')); 
 
    linearChart.draw(data, options); 
 
}
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="div"></div>

相關問題