Estou puxando dados do BD mas não esta aparecendo no gráfico nos campos de data correto, alguém pode dar uma olhada no meu código ver onde estou errando… vou deixar algumas imagens
---------------- explicação ----------------
O grafico é criado por 3 coisas que vem do select: Data, que é sempre o dia anterior sysdate -1… Ativo: que é por exemplo (MOTO,CARRO,CAMINHÃO) que foi usado nessa Data QTDE_HORAS: que é a quantidade de horas que cada ativo ficou em “uso”. na Data também…
---------------- explicação ----------------
Ele está mostrando no grafico, ele puxa a data e coloca em baixo do gráfico conforme a imagem, também separa os ativos por cores, só não está Inserindo essas informações no gráfico corretamente…
Alguém pode dar uma revisada já tentei diversas formas, acho que estou deixando passar algo sem perceber
Segue o codigo:
var aLabels =[];
var qtdDatas=0;
var dados = [];
var ativos =[];
var qtdAtivos=6;
var cont=6;var data = []; var ativo = []; var aproveitamento = []; var valordados =[]; <struts_logic:iterate id="arrExecute" name="collExecuteList1" scope="page" type="java.util.ArrayList"> //Vetor de labels (informação abaixo das barras) if( !aLabels.includes("<%=arrExecute.get(0).toString()%>") ){ qtdDatas = aLabels.push("<%=arrExecute.get(0).toString()%>"); } if( !ativos.includes("<%=arrExecute.get(1).toString()%>") ){ qtdAtivos = ativos.push("<%=arrExecute.get(1).toString()%>"); } data[cont]="<%=arrExecute.get(0).toString()%>"; ativo[cont]="<%=arrExecute.get(1).toString()%>"; aproveitamento[cont]="<%=(arrExecute.get(2).toString().replaceAll(",", "."))%>"; cont++; </struts_logic:iterate> var BarraApro =[]; var aDataset1 =[]; for (var i=0;i < qtdAtivos;i++){ for( var t=cont; t >= qtdAtivos;t--){ if( (ativos[i] == ativo[t]) ){ if (BarraApro[i] == [t]){ BarraApro[i] = Number(aproveitamento[t]); } else { BarraApro[i] = BarraApro[i] +", "+ Number(aproveitamento[t]); } } } aDataset1.push( { type: "bar", label: ativos[i], backgroundColor: cores[i], data: BarraApro[i].split(',').map(parseFloat), borderColor: "white", borderWidth: 2 },) } var chartData = { labels: aLabels, datasets: aDataset1 }; Chart.defaults.global.defaultFontColor = 'black'; window.onload = function() { var ctx = document.getElementById("canvas").getContext("2d"); window.myMixedChart = new Chart(ctx, { type: "bar", data: chartData, options: { responsive: false, title: { display: true, text: "Horas Produtivas (h/dia)" }, scales: { yAxes: [{ ticks: { beginAtZero: true, // Include a dollar sign in the ticks callback: function(value, index, values) { return value + 'h' ; } } }] }, tooltips: { enabled: false, mode: "index", intersect: true }, animation: { onComplete: function () { var ctx = this.chart.ctx; ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily); ctx.fillStyle = "black"; ctx.textAlign = 'center'; ctx.textBaseline = 'bottom'; this.data.datasets.forEach(function (dataset) { for (var i = 0; i < dataset.data.length; i++) { for(var key in dataset._meta) { var model = dataset._meta[key].data[i]._model; ctx.fillText(dataset.data[i], model.x, model.y - 5); } } }); } }, annotation: { events: ["click"], annotations: [ { drawTime: "afterDatasetsDraw", id: "facaline", type: "line", mode: "horizontal", scaleID: "y-axis-0", value: 7.2, borderColor: "orange", borderWidth: 2, label: { backgroundColor: "orange", content: "Méta 7,2h/dia", enabled: true, position: "right", xAdjust: 20, } } ] } } }); };