我有一个使用谷歌图表工具的时间线图表,并且我已经对其进行了调整以满足我的需要,但我仍然需要处理的一件事是图形标签上的日期格式。如图所示,我成功更改了日期的语言,但日期格式仍然是 mm/dd。我需要它是 dd/mm。
这是我当前使用的代码:
$(document).ready(function(){
google.charts.load("current", {packages:["timeline"],'language': 'pt'});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var jsonData = $.ajax({
url : 'Agenda/getDados',
dataType : 'json',
async: false
}).responseText;
var container = document.getElementById('chart');
var chart = new google.visualization.Timeline(container);
var dataTable = new google.visualization.DataTable(jsonData);
google.visualization.events.addListener(chart, 'ready', function(){
afterDraw();
});
var options ={
timeline: { showRowLabels: false},
alternatingRowStyle: true,
hAxis: {
format: 'dd.MM',
viewWindowMode: 'pretty' // Garante que haja uma grade diária
},
tooltip: {
isHtml: true
}
};
chart.draw(dataTable,
{
width: '100%',
height: 10000
});
}
});
//Passa a legenda de data para a parte de cima do gráfico
function afterDraw() {
var g = document.getElementsByTagName("svg")[0].getElementsByTagName("g")[1];
document.getElementsByTagName("svg")[0].parentNode.style.top = '45px';
document.getElementsByTagName("svg")[0].style.overflow = 'visible';
var height = Number(g.getElementsByTagName("text")[0].getAttribute('y')) + 20;
g.setAttribute('transform','translate(0,-'+height+')');
var lastDateElement = g.querySelector("text:last-child");
if (lastDateElement) {
lastDateElement.remove();
}
g = null;
}
正如你所看到的,我已经尝试过 hAxis 选项(虽然它可能是错误的,但我不太确定。) afterDraw 函数是一个将所述标签反转到图形顶部而不是底部的函数,以及删除最后一个元素,因为我真的不希望它可见。
我尝试过使用不同的浏览器,但都是一样的。
如何将日期格式更改为日/月?
您没有将
options
传递给函数 chart.draw()
chart.draw(dataTable, options);