javascript d3.js

javascript - Cómo cargar datos de un archivo CSV en D3 v5



d3.js (2)

Estoy tratando de cargar datos de un archivo CSV en D3; Tengo este codigo:

function update (error, data) { if (error !== null) { alert ("Couldn''t load the dataset!"); } else { //do something }; function changeData () { d3.csv ("data/dataset.csv", update); }

Si uso D3 v4 funciona bien, pero si cambio a v5 ya no funciona. ¿Alguien puede explicarme cómo modificar el código para que funcione con D3 v5?


d3 v5 utiliza la API de recuperación y devuelve una promesa que requiere el siguiente código.

d3.csv(''yourcsv.csv'') .then(function(data) { // data is now whole data set // draw chart in here! }) .catch(function(error){ // handle error })

En caso de que en el futuro la gente quiera v4. d3 v4, por otro lado, utiliza el método XMLHttpRequest y no devuelve una promesa que requiera este código

d3.csv(''yourcsv.csv'', function(data) { //whole data set // draw chart here })

la carga de csv es asíncrona, así que asegúrese de ejecutar su código de gráfico dentro de la función csv.


share es buena, pero si desea usar ES7 async / await en lugar de Promise.then:

async function doThings() { const data = await d3.csv(''yourcsv.csv''); // do whatever with data here } doThings();