Fala pessoal, estou querendo popular um gráfico de pizza na minha página dashboard, porém não estou conseguindo, podem me ajudar (Não quero usar php, somente javascript, jquery e html) .
- Gráfico: Chart.JS
- BD: MySQL
- Linguagem: Javascript / Node.JS
Minha rota na qual passo o Json no render da página:
pageAdmin: (req, res) => {
(async function () {
let teste = await DBModel.getTeste();
res.render('./pageAdmin', {
//Dados que são passados para a página
DTTeste: JSON.parse(JSON.stringify(teste))
});
})();//async
};
Aqui meu arquivo ejs onde renderizo o gráfico (front-end):
<div class="row">
<div style="padding:10px" id="chart-container">
<canvas id="pie-chart" width="800" height="450"></canvas>
</div>
</div>
E por fim o trecho que contém o script para gerar e popular o gráfico:
<script>
new Chart(document.getElementById("pie-chart"), {
type: 'pie',
data: {
labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
datasets: [{
label: "Population (millions)",
backgroundColor: ["#3e95cd", "#8e5ea2", "#3cba9f", "#e8c3b9", "#c45850"],
data: [2478, 5267, 734, 784, 433]
}]
},
options: {
title: {
display: true,
text: 'Predicted world population (millions) in 2050'
}
}
});
</script>
Como faço para popular o label e data do gráfico utilizando o “DTTeste” recebido no render?
Os dados estão vindo desta forma (olhando no console.log):
onde “status”_rnc será a label do gráfico e “Qtde” será os valores