plotly / plotly.js

Open-source JavaScript charting library behind Plotly and Dash
https://plotly.com/javascript/
MIT License
16.9k stars 1.85k forks source link

add more 3d point selection options #3511

Open jackparmer opened 5 years ago

jackparmer commented 5 years ago

ipyvolume has a nice implementation of this where there are 3 possible selection modes: rectangle, circle, and lasso (https://github.com/maartenbreddels/ipyvolume/issues/124#issuecomment-376805210)

1_wba4ev2et10plqojaho1qa (GIF via https://towardsdatascience.com/multivolume-rendering-in-jupyter-with-ipyvolume-cross-language-3d-visualization-64389047634a)

This would probably be mostly useful for Dash; manually select a subset of points in a 3d plot and let the Dash app do something with that subset.

sharika123 commented 5 years ago

Is this plotly feature?Can you suggest me something for plotly,how to do multi data point selection in 3d scatter plot?

AniWar commented 5 years ago

Is there any update on this feature yet ? Any dev branch available ?

chriddyp commented 4 years ago

Another interesting software to look at for inspiration is the 3D scatter plots in https://projector.tensorflow.org/

selection

Reine0017 commented 3 years ago

Hello! Just wanted to ask if anyone has any recommendations for plotting clickable interactive 3D diagrams with x,y,z coordinates?

MattiasOlla commented 3 years ago

I am also very interested in this. Does anyone have any suggestions how get this feature into a dash app? Or could anyone point me to where to start to port the Plotly 2d scatter selection functionality to the 3d scatter?

Reine0017 commented 3 years ago

I am also very interested in this. Does anyone have any suggestions how get this feature into a dash app? Or could anyone point me to where to start to port the Plotly 2d scatter selection functionality to the 3d scatter?

@MattiasOlla Do you just want a 3D scatter plot that allows you to trigger an event when you click one of the points? If so, you might want to look at https://link.medium.com/U7C18WFwrgb

Koushikphy commented 3 years ago

is it possible for 3D scatter plot to click on a point and drag/move the point like this three.js example here https://threejs.org/examples/webgl_geometry_spline_editor.html

MattiasOlla commented 3 years ago

I am also very interested in this. Does anyone have any suggestions how get this feature into a dash app? Or could anyone point me to where to start to port the Plotly 2d scatter selection functionality to the 3d scatter?

@MattiasOlla Do you just want a 3D scatter plot that allows you to trigger an event when you click one of the points? If so, you might want to look at https://link.medium.com/U7C18WFwrgb

is it possible for 3D scatter plot to click on a point and drag/move the point like this three.js example here https://threejs.org/examples/webgl_geometry_spline_editor.html

Unfortunately, my application requires selecting multiple points with some kind of box/lasso select. I have used ipyvolume in a jupyter notebook, but for less technical people, I want to integrate this into my Dash app.

seabirdman commented 2 years ago

ColorSpace app is a work-in-progress but has some callbacks in a 3D bubble plot that might relate to this discussion. You can access the app here and will see that we show some data about the point on hover and highlight the underlying data upon click. We would like to do more but for now, this seems to be about it and we have moved on to other things. BTW, in the ColorSpace you can toggle from a 3D bubble plot to a color bar chart that has the same callbacks as mentioned above. Write me if the code for these features are of interest.

CmpCtrl commented 7 months ago

I was surprised that scatter3d doesn't support selectedpoints, selected, and unselected. Even if there isn't a clear or easy way to support selecting in the plot, those would still be quite useful for selections made outside of the plot, like in a callback. For instance, i am using a scatter3d to plot the vertices of a surface that corresponds to a table. I'd like to be able to select those points in the plot to indicate the active cell in the table. Also, if it did support the selectedpoints, i think you could implement simple selection functionality with the onclick event.

Does anyone know if it would be straightforward to extend the selectedpoints, selected, and unselected from the scatter traces to the scatter3d traces? Excluding the interactive selection functionality for now.