2010-04-12 10 views
9

sto cercando in fornendo diversi metodi di visualizzazione di un grande volume di dati. Questo può includere, ma non sarà limitato a, semplice rappresentazione grafica. Le tecniche che sto esplorando coinvolgeranno forme, testo e linee. Comprenderà anche l'interazione con elementi (nascondimento, messa a fuoco, ecc.) E l'animazione (spostamento, trascinamento, riorganizzazione sistematica, ecc.) Di tali elementi.Tecniche per la visualizzazione dei dati

SVG o Canvas sembrano le scelte più ovvie (in combinazione con una libreria JS - probabilmente jQuery), ma la mancanza di disponibilità del cross-browser è una preoccupazione. Mi piacerebbe preferiscono per evitare Flash/Flex, ma in questo momento è il solido, la tecnologia cross-browser solo roccia che ho trovato se il supporto per IE7/8 è un requisito.

Qualcuno ha altri suggerimenti o qualsiasi altra informazione che renderebbe una tecnologia ho elencato sembrare ancora più attraente?

Grazie.

risposta

1

Si potrebbe voler dare un'occhiata a Raphael e GRaphael. Raphael ti consente di creare grafica vettoriale e utilizzerà SVG su browser compatibili con SVG passando automaticamente a VML su IE.

Si potrebbe anche dare un'occhiata al canvas processing.js.

+0

Questi sono entrambi nella lista. Grazie. –

+0

Penso che ho intenzione di iniziare con Raphael. È cross-browser (leggi: funzionerà in IE) e sembra piuttosto potente. –

0

SVG e Canvas funziona per i dati relativamente semplici (cioè, dove poche righe sono sufficienti). Per dati complessi (ad esempio, distribuzioni di frequenza o qualcosa in cui si emette un campione per pixel), è necessario eseguire il rendering di un'immagine normale sul server.

+0

Al momento, sto cercando di evitare la domanda sulle prestazioni (che presumo sia la ragione del tuo suggerimento di rendering di un'immagine). Certo, quando/se prestazioni diventa un problema, dovremo fare qualcosa per "cache" l'uscita e che sarà probabilmente per creare un'immagine e farla finita w/real-time precisione. Se hai in mente un'altra ragione, ti preghiamo di elaborare. –

+0

Come ho detto, dipende dai dati. Se si esegue il rendering più di 10'000 linee, SVG e Canvas inizierà a ottenere lento perché è necessario analizzare un documento 1MB solo per le coordinate mentre un'immagine avrà solo bisogno di un paio di 100KB. –

1

Highcharts è un Javascript, buona, libera e cross-browser strumento di creazione di grafici.

Date un'occhiata al Highcharts demo

+0

Slick, ma sembra supportare solo la grafica tradizionale. Ho bisogno di supportare gruppi cloud, frattali, ecc. Stesse idee, ma visivamente al di fuori dello stampo tradizionale del pacchetto grafico. –

0

Se si utilizza jQuery per la grafica, avrei esitazioni check out Flot che è come cross browser grafica/grafici biblioteca.

1

SVG è disponibile su tutto eccetto IE, e VML è disponibile su IE (dal 5.5, IIRC). Se puoi servire sia SVG che VML, avrai una grafica vettoriale che praticamente tutti possono vedere. RaphaelJS è una libreria Javascript in grado di generare entrambi i formati dallo stesso codice Javascript, ma ovviamente questo è solo un modo per farlo.

Canvas è anche disponibile praticamente su tutto, ad eccezione di IE, ma alcune persone folli ha scritto qualcosa chiamato excanvas che emula della tela di canapa a, ancora una volta, VML. Dai miei amici e colleghi che l'hanno utilizzato, ho sentito che le prestazioni sono peggiori di qualsiasi altra soluzione di grafica per browser, ma se si desidera rendere la grafica bitmap portabile, è praticamente l'unico gioco non plug-in in città.

Quale strada prendere - vettore o raster - in realtà dipende la vostra applicazione.

+0

Il mio intento è di percorrere il percorso vettoriale. Poiché si tratta di una soluzione sviluppata in casa per risolvere un problema nazionale, vorrei davvero evitare di implementare sia SVG che VML, ma se riesco a trovare un buon pacchetto che lo faccia ... –

2

Controllare l'originale Processing.org.

Può sembrare strano/anacronistico che stiano utilizzando le applet Java, ma sono riuscite a ottenere prestazioni migliori con Java rispetto a JavaScript. Le applet sembrano funzionare ovunque e avrai accesso a molte grandi librerie Java.

2

Non pensare che ho visto questo menzionato: JavaScript InfoViz Toolkit

una visualizzazione interessante Personalmente, come è il treemap view. Bello per riassumere un sacco di dati in un'unica vista.

Problemi correlati