2016-01-18 5 views
6

Ho un'applicazione node.js che accede ai dati di un database MySQL e voglio generare grafici da quei dati dinamicamente, per reindirizzarli come immagine (PNG/JPG) attraverso un server HTTP al utente. Ho cercato per un po 'di tempo, ma non ero in grado di trovare una libreria per farlo senza l'approccio HTML/canvas. Dal momento che voglio lasciare che il server esegua il rendering per utilizzare il grafico nelle e-mail o anche i file PDF resi dinamicamente, questa non è un'opzione qui.Genera grafici senza HTML/Browser

Quale potrebbe essere l'approccio qui (con o senza una biblioteca)?

Modificare per fornire la prova del proprio lavoro: Ho trovato https://plot.ly, che è in termini di utilizzo e risultato davvero vicino per soddisfare le mie esigenze, ma richiede una connessione internet, dal momento che chiama un'API remota.

+0

Chiaramente fuori tema (leggi [chiedi]). perché qualcuno dovrebbe revocare questo? – Amit

+0

Ho modificato la domanda per rendere più ovvio al passaggio degli utenti che si tratta di una domanda reale e non di una richiesta per una libreria. –

+0

Perché la tela non è un'opzione? È possibile eseguire il rendering su tela e ottenere i dati dell'immagine per inviarli al client o salvarli sul server per un utilizzo futuro in pdf o altro. – pawel

risposta

2

C'è un node wrapper per la libreria di grafici chartist. Potresti usare questa libreria per generare un SVG e una lib di svg2png per convertirli in PNG.

2

Bene ci sono più opzioni, vorrei usare phantomjs (browser Webkit senza testa) per rendere i grafici.

Perché questa opzione va bene? Uno dei motivi è che non hai bisogno di codice duplicato per la codifica lato server e client, potresti semplicemente riutilizzare il codice. Sul lato server creare un file html con script e dati richiesti e renderlo.

9

Si potrebbe anche provare a chiedere questo nel Software Recs Stack Overflow. Ma un'opzione che sembra adatta alle tue esigenze è ZingChart.

Hanno un phantomJS build per il rendering delle versioni statiche dei grafici. Inoltre, gli utenti con licenza possono accedere a un build Node.js per la creazione di grafici sul lato server.

Divulgazione completa, sono al team di ZingChart quindi per favore fatemi sapere se posso aiutarvi a rivedere tutte le vostre opzioni.