Newb qui. Ho un csv con questi dati:istogramma D3, numero di occorrenze di data da data e ora
date, lat, lon
01/01/2015 09:38:14 AM,37.973424,-87.575423
01/01/2015 09:48:27 PM,37.385218,-122.11413
01/01/2015 10:17:34 AM,39.081712,-76.554603
01/02/2015 01:27:17 PM,40.216204,-74.619533
voglio avere un istogramma in cui l'asse x è per data e l'asse y è il numero delle occorrenze.
Quindi Jan 1 avrebbe un'altezza di colonna di 3 e Jan 2 avrebbe un'altezza di colonna di 1. L'ora del giorno è irrilevante.
Devo analizzare le date o impostare un time interval di "giorno" in qualche modo o creare un array? Sembra che ci siano due passaggi: "filtrare" i dati in blocchi e contare i blocchi, ma non sono sicuro di come farlo.
Ho trovato this example, ma le date sono già "arrotondate" correttamente alle date e i dati sono nel file, non esterni.
Grazie per qualsiasi aiuto!
Oh grazie! Molto apprezzato! Una rapida domanda di follow-up. Hai i dati in "var = csv". I miei dati sono in un file csv esterno di 20.000 righe. Come collego i due? Ho provato a racchiudere la funzione forEach in d3.csv, ma qualcosa non funziona. (scusate, non riesco nemmeno a visualizzare questo codice in un blocco): 'd3.csv (" data/test.csv ", function (error, line) { forEach (function (line) { var parts = line.split (','); var datetime = formatDate.parse (parts [0]); var date = formatDate (datetime) .split ('') [0]; tally [data] = (tally [data] || 0) + 1; }); }); ' – airwwwave
@airwwwave vedere la risposta aggiornata –
Grazie mille. Lo proverò e riferirò! – airwwwave