Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gl2d known limitations #130

Closed
20 of 21 tasks
etpinard opened this issue Dec 17, 2015 · 13 comments
Closed
20 of 21 tasks

gl2d known limitations #130

etpinard opened this issue Dec 17, 2015 · 13 comments

Comments

@etpinard
Copy link
Contributor

etpinard commented Dec 17, 2015

A list of known limitations in gl2d graphs in comparison with svg2d feature set:

  • image export isn't reliable (meaning gl2d graphs have no image test support)
  • scatter mode: 'text' (for text charts) is not available
  • 'free' axes and 'overlaying' axes are not available. But subplots, insets, shared axes work. Hurdles: free axes with custom 'position' would need an option to make a gap between the data-box and the axis in gl-plot2d, overlaying axes would need more logic around when to show grid lines, scene backgroud color and have hover events propagate down. ✅ Fixed with regl.
  • data-reference annotations/shapes are not available (paper-reference annotations/shapes work)
  • fill options tonexty, tonexty, and toself are not avaliable (tozerox and tozeroy work) ✅ Fixed with regl.
  • the marker.symbol is pretty good since v1.28.0 but not on-par with svg ✅ Fixed with regl.
  • px-specified line.dash are not available
  • no line.shape: 'spline' update: 'hv', 'vh', 'hvh', 'vhv' added in Scattergl improvements for: fill tozero with bad values fix, fills layering fix, add some line.shape values #3087
  • axis titles are not centered (positioning algo does not consider text width)
  • tick marks don't support \n (most common in date axes)
  • axes don't support decreasing (custom or with autorange: 'reversed') ranges. ✅ Fixed with regl.
  • hovermode x and y are not available (toggling hover on/off in modebar works). ✅ Fixed with regl.
  • no support for axis fixedrange (would need to tweak gl-select-box). ✅ Fixed with regl.
  • double click and shift click interactions are not supported. ✅ Fixed with regl.
  • cartesian + gl2d subplot on the same graph are not supported. ✅ Fixed with regl.
  • plotly_hover, plotly_unhover and plotly_click are not emitted [done in Hover / unhover events on the 2d WebGL plots #994]
  • setting hoverinfo to 'none' should disable the hover spikes. ✅ Fixed with regl.
  • a hover spikes sometimes appears prematurely after initial Plotly.plot call
  • select box and lasso selections are not supported
  • single-axis zoom/pan and corner zoom interactions are not supported
  • zoom-box doesn't follow cursor outside the plot bounds (i.e. no cover slip). ✅ Fixed with regl.
@etpinard etpinard added this to the On-par gl2d milestone Dec 18, 2015
@destradafilm
Copy link

can you also include ADD d3 events to plotly_click plotly_hover plotly_unhover events? Same as non webgl version?

@mx2048
Copy link

mx2048 commented Dec 1, 2017

Also, no support for tags as to Scattergl.
For example,
layout = go.Layout(xaxis=dict(title='<b>Title</b>'))
Title will not appear if enclosed in the tags.

@cpsievert cpsievert mentioned this issue Dec 5, 2017
52 tasks
@etpinard
Copy link
Contributor Author

etpinard commented Jan 8, 2018

can you also include ADD d3 events to plotly_click plotly_hover plotly_unhover events? Same as non webgl version?

Also, no support for tags as to Scattergl.
For example,
layout = go.Layout(xaxis=dict(title='Title'))
Title will not appear if enclosed in the tags.

Both will be fixed by @dfcreative 's regl-based scattergl.

@etpinard
Copy link
Contributor Author

etpinard commented Jan 8, 2018

@dfcreative quick question: is your implementation of line.dash on-par with SVG scatter?

@etpinard
Copy link
Contributor Author

etpinard commented Jan 8, 2018

... if so, the only remaining items in the list above are:

pretty good 🎉

@dy
Copy link
Contributor

dy commented Jan 13, 2018

@etpinard dashes are not perfectly the same px-wise, but cover all SVG modes.

@dy
Copy link
Contributor

dy commented Jan 16, 2018

@etpinard dash patterns are covered by dd120ee:
image

@etpinard
Copy link
Contributor Author

etpinard commented Jan 17, 2018

A few more things that scattergl doesn't do quite right as of #2258:

@etpinard
Copy link
Contributor Author

etpinard commented Jan 18, 2018

Writing down a couple more thoughts on future gl2d development. Some of these items may benefit from Github issue of their own down the road.

  • In a private convo, @dfcreative wrote: _merge snap-points-2d/kdtree to point-cluster DONE during the splom push
  • make tree-based selection subrange)_ for improved performances
  • better auto-range solution for gl2d. The SVG solution doesn't scale well to 1e6, but it would be nice to make scatter and scattergl use the same set of rules e.g. we could say: for graphs with more than 1e5 don't consider marker.size in auto-range computation. DONE in On-par autorange for scattergl #2404
  • Update pointcloud to using regl. Better yet, merge pointcloud fast data pass into a scattergl mode to allows fast updates.
  • What to do with heatmapgl and contourgl? Canvas-based heatmap is currently out-performing heatmapgl in the latest Chrome version. contourgl is full of bugs and offers little to no benefits compare to svg contour. Perhaps we should just deprecate them.

@etpinard
Copy link
Contributor Author

@dfcreative 's new regl-based scattergl was merged in #2258 and released in v1.33.0. We'll leave this issue open as a starting point to discuss future gl2d development, but we'll close off the On-par gl2d.

@etpinard etpinard removed this from the On-par gl2d milestone Jan 18, 2018
@cpsievert
Copy link

Not sure if y'all group scattermapbox under this category, but I would to see that support hoveron='fill' as well!

@cpsievert
Copy link

cpsievert commented Apr 9, 2018

Also rangeslider:

https://codepen.io/cpsievert/pen/JLwQyx

Edit: in -> #2627

@etpinard
Copy link
Contributor Author

etpinard commented Jul 4, 2019

Closing. Looks like all the remaining items have their own ticket.

If I missed something, please open a new ticket.

@etpinard etpinard closed this as completed Jul 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants