Zazwyczaj nie zauważysz różnicy między figurą SVG i WebGL, chyba że wykreślasz dużą ilość zestawu danych. Wynika to z faktu, że WebGL jest zaprojektowany do obsługi dużych ilości obliczeń za pomocą GPU.
W tym artykule postaramy się pokazać, jak korzystać z klasy ScatterGL z plotly Graph_Objects, aby wykreślić wykres rozproszenia za pomocą WebGL.
Wykreślanie 1 miliona punktów za pomocą Plotly Express
Chociaż plotly Graph_Objects zapewnia wiele dostosowywania i kontroli niskiego poziomu, dobrze jest zrozumieć najszybszą i najbardziej wydajną metodę tworzenia działki renderowanej przez.
Tutaj pojawia się Plotly Express. Korzystając z parametru render_mode, możesz utworzyć wykres rozproszenia i powiedzieć, że użyj WebGL zamiast SVG do renderowania liczby.
Przykładem jest, jak pokazano następująco:
importować fabuły.Wyraź jako PXPoprzedni kod tworzy wykres rozproszenia wynoszący 10000 punktów za pomocą WebGL Renderer.
Za pomocą Plotly Graph_Objects
Na szczęście, w plotly Graph_Objects, możemy użyć funkcji ScatterGL, która domyślnie korzysta z WEBGL.
Przykładowy kod jest jak pokazano następująco:
importować fabuły.Graph_Objects jak GoCzas renderowania (SVG vs Webgl)
Jak wspomniano, WebGL oferuje przewagę wydajności w stosunku do SVG. Można to zilustrować podczas wykreślania dużego zestawu danych.
Przykład 1: Za pomocą ScatterGL
importować fabuły.Graph_Objects jak GoPoprzedni kod renderuje około 3m 8.3Sec.
Przykład 2: bez WebGL
importować fabuły.Wyraź jako PXTen kod renderuje około 5 minut 12.5 sekund.
Należy pamiętać, że poprzednie wartości pochodzą z jednego czasu, ale nie odzwierciedlają dokładnie przewagi WebGL nad SVG i odwrotnie.
Zalecamy wykonanie testu, który odpowiada Twoim środowisku i potrzebom obliczeń.
Wniosek
W tym artykule zilustrowaliśmy, w jaki sposób możemy stworzyć wykres rozproszenia za pomocą SVG i renderowania WebGL w plotly.