2016-12-26 128 views
1

根据谷歌图表的文档嗨一个行类型可以是:谷歌图表vAxis时间跨度

类型可以是下列之一:“字符串”,“号码”,“布尔”, 'date','datetime'和'timeofday'。

https://developers.google.com/chart/interactive/docs/datesandtimes

我需要有入库时间类型,所以可具有与vAxis值0,1小时,1小时,2小时,....高达任何数目。这意味着每两个人之间的60度就像一个时间跨度,但不是100度的数字。

有没有办法达到这个目的?使用选项24小时它把它深入到00:00

回答

1

当一个timeofday不会也行 - >hAxis.ticks

与对象符号相结合的价值观 - >{v: value, f: formattedValue}

你很可能只使用约任何类型(比'string'等)

看到下面的工作片断的一个基本的例子...

hAxis.ticks一组自定义的建成,一个刻度为每小时在48小时时间跨度

google.charts.load('current', { 
 
    callback: function() { 
 
    drawChart(); 
 
    window.addEventListener('resize', drawChart, false); 
 
    }, 
 
    packages:['corechart'] 
 
}); 
 

 
function drawChart() { 
 
    var dataTable = new google.visualization.DataTable(); 
 
    dataTable.addColumn('date', 'Timespan'); 
 
    dataTable.addColumn('number', 'Y'); 
 

 
    var oneHour = (1000 * 60 * 60); 
 
    var startDate = new Date(); 
 
    var endDate = new Date(startDate.getTime() + (oneHour * 24 * 2)); 
 
    var ticksAxisH = []; 
 
    for (var i = startDate.getTime(); i < endDate.getTime(); i = i + oneHour) { 
 
    var tickValue = new Date(i); 
 
    var tickFormat = (tickValue.getTime() - startDate.getTime())/oneHour; 
 
    var tick = { 
 
     v: tickValue, 
 
     f: tickFormat + 'h' 
 
    }; 
 
    ticksAxisH.push(tick); 
 
    dataTable.addRow([tick, (2 * tickFormat) - 8]); 
 
    } 
 

 
    var container = document.getElementById('chart_div'); 
 
    var chart = new google.visualization.LineChart(container); 
 
    chart.draw(dataTable, { 
 
    hAxis: { 
 
     ticks: ticksAxisH 
 
    } 
 
    }); 
 
}
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="chart_div"></div>

+0

很好的问题,希望这有助于打开_Full page_看到所有的'蜱'... – WhiteHat

+0

辉煌@WhiteHat它真的很好你如何保持简单:) – sisimh