2010-01-21 9 views
5

Mi chiedo se ci sono librerie di grafici per grafici 2D che girano sul lato client usando JavaScript? L'idea di base è che potresti creare una trama in un browser e l'utente può modificare le cose come le scale e i limiti X e Y, zoomando avanti e indietro, senza dover ricaricare continuamente la pagina web dal server. I dati stessi verrebbero recuperati tramite AJAX, il che consentirebbe a un utente anche solo i dati direttamente dal server se vogliono utilizzare strumenti pesanti. Qualcosa come la parte 2D di matplotlib per Python.Creazione di dati 2D basati su JavaScript open-source sul lato client?

Questo è qualcosa che ho dato un'occhiata a molto tempo fa prima di decidere che era più veloce sviluppare un codice che ha appena generato un SVG sul lato server (usando un server web eCos integrato), ma ora che ho Ho letto cose come Prototype e jQuery, mi chiedo se qualcuno è già andato a fare questo.

risposta

4

Potresti essere interessato a provare Flot. Flot è una libreria di plottaggio open source pura Javascript per jQuery. Produce grafici di set di dati arbitrari al volo sul lato client.

Prima di tutto, assicuratevi di controllare il seguente esempio che utilizza i dati recuperati tramite la tecnologia AJAX per tracciare un grafico in rea-LTIME:

Questo è il modo in recupero e tracciando la dati con AJAX sarà simile nel codice:

function fetchData() { 

    function onDataReceived(series) { 
     data = [ series ]; 

     $.plot($("#placeholder"), data, options); 
    } 

    $.ajax({ 
     url:  "data_feed.php", 
     method: "GET", 
     dataType: "json", 
     success: onDataReceived 
    }); 

    setTimeout(fetchData, 1000); 
} 

Stack Overflow usa anche Flot per il grafico stradale nella scheda reputazione dei profili utente.

Per ulteriori informazioni sul Flot:

Flot example with zooming overview http://img710.imageshack.us/img710/2062/flot.jpg

+0

Stavo esaminando lo stesso problema un po 'di tempo fa e Flot continuava a venirmi in cima per me, non ricordo perché comunque. – Jason

+0

Sembra anche che ci sia un Flotr (http://solutoire.com/flotr/) che gira su Prototype invece di jQuery. So di poter confezionare Prototype in 36k o giù di lì, ma non conosco l'impronta di jQuery, quindi non ho ancora scelto una libreria o l'altra. È bello vedere che ci sono opzioni grafiche per entrambi. –

+0

jQuery footprint è 23k gzip e minified e 74k solo minified. Se offri jQuery (o prototipo) dal CDN di Google AJAX Libraries, la maggior parte degli utenti potrebbe non aver bisogno di scaricare jQuery, poiché probabilmente sarà già presente nella cache del browser: http://code.google.com/apis/ajaxlibs /. –

5

http://g.raphaeljs.com/ - cross browser compatibili JS biblioteca grafici.

+0

+1 Mi piace molto Raffaello perché gli elementi SVG/VML sono solo normali nodi DOM che è possibile associare a un manipolo di eventi dopo il fatto. – slebetman

+0

http://g.raphaeljs.com/reference.html - Nessun documento. ; _; (I grafici a linee sono tutto ciò di cui ho bisogno, la torta, la barra e i grafici a simboli funky sono assolutamente affidabili. Inoltre, proviamo a vedere se può fare le scale logaritmiche.) –

Problemi correlati