In genere, non noterai la differenza tra la figura resa SVG e WebGL a meno che tu non stia pianificando una grande quantità di set di dati. Questo perché WebGL è progettato per gestire grandi quantità di calcolo utilizzando la GPU.
In questo articolo, tenteremo di mostrarti come utilizzare la classe Scattergl da Plotly Graph_Objects per tracciare un diagramma a dispersione usando WebGL.
Trama 1 milione di punti usando Plotly Express
Sebbene Plotly Graph_Objects fornisca molta personalizzazione e controllo di basso livello, è bene capire il metodo più rapido ed efficiente per creare un grafico reso WebGL.
Questo è dove arriva la trama espressa. Utilizzando il parametro Render_Mode, è possibile creare un diagramma a dispersione e raccontare a Plocking di utilizzare WebGL anziché SVG per rendere una figura.
Un esempio è come mostrato nel seguente:
importazione della trama.esprimere come pxIl codice precedente crea un diagramma a dispersione di 10000 punti utilizzando il rendering WebGL.
Usando Plotly Graph_Objects
Fortunatamente, in Plotly Graph_Objects, possiamo usare la funzione Scattergl che utilizza il WebGL per impostazione predefinita.
Il codice di esempio è come mostrato nel seguente:
importazione della trama.graph_objects come GoRender Time (SVG vs WebGL)
Come accennato, WebGL offre un vantaggio di prestazioni su SVG. Questo può essere illustrato quando si traccia un set di dati di grandi dimensioni.
Esempio 1: usando Scattergl
importazione della trama.graph_objects come GoIl codice precedente rende circa 3m 8.3 secondi.
Esempio 2: senza WebGL
importazione della trama.esprimere come pxQuesto codice rende in circa 5 minuti 12.5secs.
Tieni presente che i valori precedenti sono di una volta ma non riflettono accuratamente il vantaggio di WebGL su SVG e viceversa.
Ti consigliamo di eseguire il tuo test che corrisponda al tuo ambiente e alle esigenze di calcolo.
Conclusione
In questo articolo, abbiamo illustrato come possiamo creare un diagramma a dispersione utilizzando SVG e WebGL rendering in Plotly.