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
Linked brushing between the visNetwork and plotly visualizations #38
Comments
"I think it is impossible to have client-side communication between the visNetwork and plotly visualizations" --- nothing is impossible!!! and conceptually there is no reason why this should not be possible (all of the data is already in the browser). but I guess it would be difficult / hard hack? Can you please explain why? it seems like plotly has support for that so the problem is on the visNetwork side? I would suggest opening an issue with visNetwork to discuss the problem and possible solutions. For now I think it is OK to go through the server but I think that will be too slow for the kind of interactions I had in mind:
if you really have to hit the server for this kind of interaction, I would suggest using a click instead of a hover. (we typically expect quicker reaction times from hovers than for clicks) Does that make sense? |
Indeed 😆
Yeah, better phrasing would be "I don't know how to do it right now and suspect it would be difficult". Definitely not impossible (I wasn't much of a wordsmith typing this issue on my phone last night before bed 😅). Background Client-side crosstalk between two htmlwidget objects can be accomplished with the The actual process of client-side crosstalk is still a big black box for me (that's on my to-learn-about list), but I've used the
Since visNetwork is built on htmlwidgets, it should work with Someone brought up visNetwork I can give that implementation a shot, but I suspect it'll be a decently-involved learning process. But, maybe there's an easier way?
That totally makes sense! I think, to move forward with this, I think it might be reasonable to first implement those 4 interactions the server-hitting way with clicks. That implementation should be pretty quick (<1 week, I think?) and it'll give us an idea of whether hitting the server makes it impossibly slow. Once that's done, I can try to implement proper crosstalk. That might end up being easy, or might end up being a huge time suck--I don't have enough background yet to know either way. |
Yesterday and today I implemented linked brushing from plotly-->visNetwork. I couldn't figure out how to do it completely client-side yet, but the server-hitting side with hover, not with a click, actually works reasonably quickly on the shiny server. Still not ideal, but that's nice. |
@tdhock
This is a big Phase 2 feature that I should be all set to implement now.
I think it is impossible to have client-side communication between the visNetwork and plotly visualizations.
So, for now, that's going to have to be server-side. My (crude/brute-force) implementation idea right now is just to have a column shared between the changepoint segments and the nodes/edges in the graph. When a user hovers over a point, I can grab that information and use that to change node/edge/changepoint opacity.
The text was updated successfully, but these errors were encountered: