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

Implement hovertemplate for all traces that support hover #3437

Closed
6 of 8 tasks
etpinard opened this issue Jan 14, 2019 · 11 comments
Closed
6 of 8 tasks

Implement hovertemplate for all traces that support hover #3437

etpinard opened this issue Jan 14, 2019 · 11 comments
Labels
♥ NEEDS SPON$OR Help bring this feature to LTS status type: feature

Comments

@etpinard
Copy link
Contributor

etpinard commented Jan 14, 2019

Building on top of #3126, #3284, #3398 and #3436 hovertemplate is now supported for trace types: scatter, bar, pie, histogram, scattergl, sankey, scatterpolar, barpolar, scatterternary, scatterpolargl, choropleth, scattergeo and scattermapbox.

The "missing" trace types are:

  • contour, heatmap, histogram2d, histogram2dcontour
  • box and violin (for points done in Hovertemplate for box/violin points #3685 | otherwise not implemented)
  • all the gl3d trace types: scatter3d, surface, mesh3d, stremtubes, cone, isosurface
  • scattercarpet
  • ohlc and candlestick
  • splom
  • parcats
  • pointcloud, heatmapgl and contourgl (are we deprecating those trace types in v2?)

cc @nicolaskruchten

@etpinard etpinard changed the title Implement hovertemplate for all trace that support hover Implement hovertemplate for all traces that support hover Jan 14, 2019
@nicolaskruchten
Copy link
Member

Yup! I would say that scatter3d is the most important remaining one, followed by parcats and splom, then contour/heatmap/surface then the the histogram2d ones

@mpf82
Copy link

mpf82 commented Jan 16, 2019

Personally, I would find it helpful and intuitive if for box the hovertemplate would be applied to single points only, not affecting the other hover texts (such as median, min, lower fence, ...).

There could be a separate property to handle these.

@etpinard
Copy link
Contributor Author

scatter3d is the most important remaining one, followed by parcats and splom

Cool, we'll try to fit these in v1.45.0. Thanks for the info!

@nicolaskruchten
Copy link
Member

If I can revise my original priority list, I might put @mpf82's suggestion above parcats ... It's pretty useful to be able to mouse over an outlier to know which one it is!

@etpinard
Copy link
Contributor Author

I might put @mpf82's suggestion above parcats

I would find it helpful and intuitive if for box the hovertemplate would be applied to single points only, not affecting the other hover texts (such as median, min, lower fence, ...).

Hmm. We haven't figured out the api for that one yet. See #3126 (comment)

We can't just make hovertemplate just work on box points, because at some point we'll want to implement hovertemplates on all box hover labels.

@nicolaskruchten
Copy link
Member

We can't just make hovertemplate just work on box points, because at some point we'll want to implement hovertemplates on all box hover labels.

I actually would find this to be most natural, and then we'd add boxhovertemplate or similar for the non-single-point ones.

@etpinard
Copy link
Contributor Author

we'd add boxhovertemplate

I really dislike three-word attribute names, but I guess that would be one way to solve the problem.

In a similar way, we'll need to declare multiple *hovertemplate attributes for parcats: one when hovering over links, and one when hovering over nodes.

Sankey does a good job at this: it declares two hovetemplate attributes: one in link.hovertemplate and one in node.hovertemplate. Unfortunately, for parcats and box/violin we don't have "nice" attribute containers like these to work with.

Hmm well, I guess for parcats we could use the line container and then maybe coerce a hovertemplate inside each dimensions item? Or maybe have the root hovertemplate apply to all the dimensions/nodes and be ignored when hovering on links?

@etpinard
Copy link
Contributor Author

After #3530, only box, violin, ohlc, candlestick and the old gl2d traces will be missing hovertemplate support.

@etpinard
Copy link
Contributor Author

hovertemplate support for box and violin points is implemented in #3685

@jackparmer jackparmer added the ♥ NEEDS SPON$OR Help bring this feature to LTS status label Sep 10, 2020
@jackparmer
Copy link
Contributor

This issue has been tagged with NEEDS SPON$OR

A community PR for this feature would certainly be welcome, but our experience is deeper features like this are difficult to complete without the Plotly maintainers leading the effort.

Sponsorship range: $5k-$10k

What Sponsorship includes:

  • Completion of this feature to the Sponsor's satisfaction, in a manner coherent with the rest of the Plotly.js library and API
  • Tests for this feature
  • Long-term support (continued support of this feature in the latest version of Plotly.js)
  • Documentation at plotly.com/javascript
  • Possibility of integrating this feature with Plotly Graphing Libraries (Python, R, F#, Julia, MATLAB, etc)
  • Possibility of integrating this feature with Dash
  • Feature announcement on community.plotly.com with shout out to Sponsor (or can remain anonymous)
  • Gratification of advancing the world's most downloaded, interactive scientific graphing libraries (>50M downloads across supported languages)

Please include the link to this issue when contacting us to discuss.

@gvwilson
Copy link
Contributor

Hi - this issue has been sitting for a while, so as part of our effort to tidy up our public repositories I'm going to close it. If it's still a concern, we'd be grateful if you could open a new issue (with a short reproducible example if appropriate) so that we can add it to our stack. Cheers - @gvwilson

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
♥ NEEDS SPON$OR Help bring this feature to LTS status type: feature
Projects
None yet
Development

No branches or pull requests

5 participants