Comments (18)
Yeah we definitely need this baked in at the JS level! I'd want brushing to match, meaning if I lasso-select some points, I'd see "part of" the diagonal being selected somehow. Easy with histograms (just shade part of the bar) but harded with box/violin.
I'd also love to be able to have contours in the upper triangle and points in the lower triangle, or something like that. Brushing in that case seems very challenging though:
from plotly_express.
Any news on this? Coming from a data science background, this seems like a very common plot that would be super useful for EDA!
from plotly_express.
This would be really neat, is anything like this planned?
from plotly_express.
from plotly_express.
Bump for histograms on the diagonals
from plotly_express.
Would love this to be built in at the plotly.js level. From plotly/plotly.js#2555:
Things we could do, but would require some thought
- Add sub-trace on the diagonal (e.g. with
diagonal.mode: 'scattergl' || 'histogram' || 'box' || 'violin'
, see #2505 (comment)
from plotly_express.
Ah yeah, contours on one triangle would be cool! One easy way to handle brushing in that case would be to just use the coordinates of the outline to select the corresponding points as though the display was scatter. On the diagonal I guess brushing should be limited to 1D regardless of the display mode.
from plotly_express.
Oh no I mean the other way: if you select some blob-shaped assortment of points in a scatter subplot, how do you render the contours/histogram/boxes?
from plotly_express.
Ah I see. For all the diagonal options I feel like we can make a separate "filtered" trace - so a second histogram inside the first, a separate violin/box next to the first.
Definitely tricky for contours though... it's hard to make two overlaid contour plots useful. So either we just plot contours of the selected data, or perhaps faded black & white contours of the full data set with semi-transparent contours in color on top of it, kind of like parcoords
from plotly_express.
Something like that, yep
from plotly_express.
Is this not possible with graph_objects.Splom
?
from plotly_express.
@grisaitis not yet! Plotly Express uses graph_objects.Splom
under the hood so if it were possible there we'd have it in PX as well already :)
from plotly_express.
Ok so the roadblock is that the main dependency doesn't support this. Do we know of an open issue in plotly/plotly about this?
from plotly_express.
👍 Would love to see this too!
from plotly_express.
@nicolaskruchten - I really like your suggestion. Would be very nice to have this as a feature.
from plotly_express.
Hi all,
This would be wunderful to have in Plotly express. Charts like this are really workhorse when presenting classification algorithms.
Seaborn has similar algo implemented https://seaborn.pydata.org/examples/scatterplot_matrix.html . It is kind of shame for Plotly not to have sth like that already implemented.
I saw similar implementation in figure factory, but ff seems not to be maintained anymore, correct me if I am wrong?
from plotly_express.
Is there any update on this?
from plotly_express.
While not using px it is possible with the figure factory, as a workaround until this is added to px:
ff.create_scatterplotmatrix
using the diag='histogram'
option.
from plotly_express.
Related Issues (20)
- Marginal subplots disappear when selecting another frame HOT 1
- range_theta in polar plots would be nice HOT 2
- `category_orders` does not raise an error with incorrect column name HOT 3
- ImportError: cannot import name 'ensure_writable_plotly_dir' HOT 1
- plotly.express does not interact properly with panel in jupyter notebook HOT 4
- TypeError: imshow() got an unexpected keyword argument 'x' HOT 4
- Plotly Express shows blank plot for chloropleths on virtual machine! Error: 404 GET/static/plotly.js! how to resolve this?
- Facet Grids with Overlay Lines HOT 1
- Argument for plots to become non-interactive to save memory in Jupyter HOT 1
- Image export ignores layout for plot size (using )
- Density Contour range_z
- plotly loop in loop HOT 1
- How to use countplot() in plotly with VAEX data frame? HOT 9
- Using px.density_contour with both marginal_x and contours_coloring causes error HOT 2
- Fill between two vertical lines but multiple times
- Adding bar traces with add_trace gives different x-axis spacing than adding strip or box traces
- Not working with IPython
- plotly express shows Invalid property latitude for choropleth map plot
- Wrong y-values when using bar graph HOT 1
- Error occured while creating the select button. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plotly_express.