flekschas / regl-scatterplot

Scalable WebGL-based scatter plot library build with Regl
https://flekschas.github.io/regl-scatterplot/
MIT License
192 stars 24 forks source link

Comparison with Plotly's WebGL implementation #80

Closed parashardhapola closed 2 years ago

parashardhapola commented 2 years ago

Hi,

Pretty cool work. I have been using the package for while and quite impressed and happy with the performance. Can you please comment on how does this compare against Plotly's WebGL implementation of scatter plots: https://plotly.com/javascript/webgl-vs-svg/#webgl-with-1-million-points ?

It would be interesting to have some general guidelines for when one would like to use one package over the other.

Thanks!

flekschas commented 2 years ago

I have never used Plotly before so I am not the right person to tell you when to use their awesome library over this one.

I am mostly guessing here but the following features seem to be unique to regl-scatterplot:

Also, I don't know how far Plotly scales. Both library can plot 1M points. On my MacBook I can also plot and smoothly pan&zoom in a 20M-point scatter plot with regl-scatterplot.

Plotly on the other hand supports:

Finally, Plotly can do a LOT more than just plotting a scatter of points. It's a whole graphing library developed by wonderful people, and it lets you create a lot of different visualizations! Regl-scatterplot has a single purple: 2D point scatters. It's also more low-level in that it requires you to build out the supporting UI you need. See https://github.com/novartis/peax for instance, in which we use regl-scatterplot.

I hope this helps.

As a disclaimer, for my comparison, I only went through the demos of regl-scatterplot (https://flekschas.github.io/regl-scatterplot) and plotly (https://plotly.com/python/line-and-scatter/). So take my list of unique features with a grain of salt.

flekschas commented 2 years ago

I am closing the ticket but please feel free to reopen it if I didn't answer your question.

parashardhapola commented 2 years ago

This explanation was most useful! Thanks a lot for this detailed response.