Por lo general, no notará la diferencia entre la cifra de SVG y WebGL renderizada a menos que esté trazando una gran cantidad de conjunto de datos. Esto se debe a que WebGL está diseñado para manejar grandes cantidades de computación mediante el uso de la GPU.
En este artículo, intentaremos mostrarle cómo usar la clase ScatterGL de Plotly Graph_Objects para trazar una gráfica de dispersión usando WebGL.
Trazar 1 millón de puntos usando Plotly Express
Aunque Plotly Graph_objects proporciona una gran personalización y control de bajo nivel, es bueno comprender el método más rápido y eficiente para crear una trama Rendered WebGL.
Aquí es donde entra Plotly Express. Usando el parámetro Render_Mode, puede crear una gráfica de dispersión y decirle a Plotly que use WebGL en lugar de SVG para representar una cifra.
Un ejemplo es como se muestra en el siguiente:
Importar trama.expresar como PXEl código anterior crea una gráfica de dispersión de 10000 puntos utilizando el renderizador webgl.
Usando trazar gráfico_objects
Afortunadamente, en tramly graph_objects, podemos usar la función scattergl que usa el webgl de forma predeterminada.
El código de ejemplo es como se muestra en el siguiente:
Importar trama.Graph_Objects como GoRenderice el tiempo (SVG vs WebGL)
Como se mencionó, WebGL ofrece una ventaja de rendimiento sobre SVG. Esto se puede ilustrar al trazar un gran conjunto de datos.
Ejemplo 1: Uso de scattergl
Importar trama.Graph_Objects como GoEl código anterior representa en aproximadamente 3m 8.3 segundos.
Ejemplo 2: sin webgl
Importar trama.expresar como PXEste código se produce en aproximadamente 5 minutos 12.5 segundos.
Tenga en cuenta que los valores anteriores son de una sola vez, pero no reflejan con precisión la ventaja de WebGL sobre SVG y viceversa.
Le recomendamos que haga su prueba que coincida con sus necesidades de entorno y cálculo.
Conclusión
En este artículo, ilustramos cómo podemos crear una trama de dispersión usando SVG y WebGL Rendering en Plotly.