Estoy obteniendo datos json de una API y tengo que mostrar algunos de los números como %. Los datos json los muestran como 0.00. Probé este método, pero no funcionó. Quiero usar una URL para obtener mis datos y luego usar Numeral.js para hacer que los datos filtrados que obtuve estén en %. ¿Qué estoy haciendo mal? Creo una plantilla para mi gráfico. Luego realizo una solicitud de recuperación para obtener mis datos y filtrarlos, de modo que obtenga los valores que necesito. Luego tomo ese valor y trato de formatearlo. El nuevo valor que quiero poner en el gráfico.
const data = { labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], datasets: [ { label: "ADOPTION", data: [18, 12, 6, 9, 12, 3, 9], backgroundColor: "rgba(73, 117, 197, 1)", borderColor: "rgba(73, 117, 197, 1)" }, { label: "Target", data: [0.654, 0.654, 0.751], backgroundColor: "rgba(236, 123, 46, 1)", borderColor: "rgba(236, 123, 46, 1)" } ] }; // config for graph const config = { type: "line", data: data, options: { plugins: { title: { display: true, text: 'data' }, }, scales: { y: { beginAtZero: true } } } }; // render init block const myChart = new Chart( document.getElementById("data"), config ); // Fethc block for the graph async function fetchJSON() { const url="link"; const response = await fetch(url); //* loads waiting to complete the request const datapoints = await response.json(); return datapoints; } fetchJSON().then((datapoints) => { const month = datapoints.map(function (index) { return index.PERIOD_NAME; //*reffers to jSon word from file }); console.log(month); myChart.config.data.labels = month; myChart.update(); }); fetchJSON().then((datapoints) => { const total = datapoints.map(function (index) { return index.ADOPTION //*reffers to jSon word from file }); var string = numeral(datapoints).format('0.000%'); console.log(string); myChart.config.data.datasets[0].data = total; myChart.update(); }); <div class="col-sm-12 col-md-4 col-lg-4"> <canvas id="data"></canvas> </div> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/chart.js"></script>Supongo que datapoints son una matriz. Numeral toma números o cadenas que intenta convertir en un número. Puede usar datapoints.map(val => numeral(val).format('0.00%')) para formatear los elementos de los puntos de datos.