Sembra che tutti i grafici di esempio D3 utilizzino un file .csv o .tsv esterno come dati di input. C'è un modo per modificare il codice per prendere i dati da una variabile in Django. Supponiamo che {{data}} sia in formato JSON, come si attua questo in un grafico come http://bl.ocks.org/3885304 o http://bl.ocks.org/3887051? Sto cercando di evitare sempre di scrivere un file .csv.Immissione diretta di dati da Django per un grafico D3
risposta
È sempre possibile creare una vista che servirà un file csv dinamico che verrà utilizzato da D3. In questo modo, inoltre, gli utenti potranno scaricare i dati nel caso in cui abbiano bisogno dei dati grezzi anziché di un grafico.
def foo(request, ...):
model = get_object_or_404(Foo, ...)
data = model.get_data() # should return csv formatted string
return HttpResponse(data, content_type='text/csv')
Se stai facendo questo, considera un api come tastypie https://github.com/toastdriven/django-tastypie – PhoebeB
Inoltre, sono d'accordo con Miki725 re csv. Dopo aver servito sia csv che json a d3 da django, ora mi attengo a csv perché ci sono alcuni buoni strumenti come d3.nest e crossfilter per raffinare le selezioni e csv è più piccolo da trasferire di json. – PhoebeB
Invece di caricare i dati in modo asincrono (Ajax-style), è possibile utilizzare correttamente formattato JSON in una stringa passata alla variabile tag modello e |safe
d.
Partenza l'esempio di lavoro http://bl.ocks.org/4040034 che si basa su http://bl.ocks.org/3885304
Si dovrebbe anche verificare le domande correlate sulle SO non ci sono tonnellate sull'argomento.
Quel grafico è quello che sto cercando. Il mio {{data}} è esattamente nel formato dei loro dati var, che è JSON. Posso semplicemente sostituire i loro dati con var data = {{data}}? Non sembra funzionare. – ono
risolto. {{data | safe}} – ono
La chiave è '| safe' per evitare l'escape di django predefinito delle stringhe. – hobs
- 1. Impostazione grafico forza diretta D3
- 2. L'introduzione di Arrow (diretto), in forza diretta grafico d3
- 3. Come passare i dati da django a d3.js
- 4. D3: come aggiornare un grafico con nuovi dati?
- 5. forza d3.js la layout diretta vincolata da una forma
- 6. produce un grafico "live" con D3
- 7. grafico a linee di dati json in d3
- 8. D3 del grafico a bolle
- 9. reattivo grafico D3
- 10. Grafico zoom in D3
- 11. Ottenere dati per d3 da ArangoDB usando AQL (o arangojs)
- 12. D3: grafico di gauge con arco crescente
- 13. d3 accesso ai dati annidati nel grafico a barre raggruppato
- 14. d3 aggiornare i dati e aggiornare il grafico
- 15. D3 Force Ajax grafico aggiornato
- 16. Aggiornamento di collegamenti su un grafico forzato diretto da dati json dinamici
- 17. grafico forza d3: nodi appiccicosi
- 18. Accesso a dati filtrati/ritagliati da un grafico dc.js
- 19. d3.js ottengono riferimento ai dati associati di oggetto cliccato
- 20. d3.js plottaggio più set di dati da file separati
- 21. Aggiunta di testo al centro di un D3 Donut grafico
- 22. recuperare dati da mysql da PHP per creare grafico flot
- 23. Immissione di dati in una griglia
- 24. Utilizzo del metodo di transizione D3 con dati per il grafico a dispersione
- 25. d3.js Come aggiungere linee a un grafico a barre
- 26. D3 rappresentazione grafica di porzioni selettive del set di dati
- 27. D3: aggiornamento dei dati con più elementi in un gruppo
- 28. Render grafico D3 da una stringa di JSON invece di un file JSON
- 29. Django Auth LDAP - Bind diretta usando sAMAccountName
- 30. Animazione D3 grafico ad anello sul carico
https://github.com/mbostock/d3/wiki/Requests#wiki-d3_json – Martin
Se sto utilizzando d3.json, qual è l'URL e il callback? – ono
Ho frainteso la tua domanda, pensavo volessi fartela usare come json usando http. Vedi la mia risposta per i dettagli. – Martin