Espero que lo pases muy bien y también espero que puedas ayudarme.
Estoy tratando de codificar un gráfico de anillos con ChartJS. Tengo una base de datos en la que tengo una tabla llamada "Calidad de la señal". En esta tabla tendré cinco ocurrencias: N/A, Excelente, Buena, Promedio, Mala señal. Entonces, primero, creo un índice para cada uno y cuento cuántos hay y luego los almaceno en una matriz y para cada índice tendrá una etiqueta. Esto es lo que tengo como una matriz:
$dataPoints = array( array("label" => "Excellent ", "value" => $lqi_excellent), array("label" => "Good ", "value" => $lqi_good), array("label" => "Average ", "value" => $lqi_average), array("label" => "Limit ", "value" => $lqi_limit), array("label" => "N/A ", "value" => $lqi_na) );Aquí está mi código de script:
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <script> new Chart(document.getElementById("MyChart"), { type: 'doughnut', data: { labels: ["Africa", "Asia", "Europe", "Latin America", "North America"], datasets: [ { backgroundColor: ["#3e95cd", "#8e5ea2","#3cba9f","#e8c3b9","#c45850"], data: [1,2,3,4,5] } ] }, options: { title: { display: true, text: 'Predicted world population (millions) in 2050' } } }); </script>Mi objetivo sería poder reemplazar las etiquetas y los datos por los valores de la matriz. como puedo hacerlo por favor
use foreach para crear dos matrices
$labelArray = array(); foreach ($dataPointsas as $key => $val) { $labelArray[$key] = $val['label']; } $valueArray = array(); foreach ($dataPointsas as $key => $val) { $valueArray[$key] = $val['value']; }entonces usa
labels: $labelArrayy
data: $valueArray