Code Monkey home page Code Monkey logo

Comments (18)

nicolaskruchten avatar nicolaskruchten commented on May 18, 2024 7

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:

image

from plotly_express.

ChristianMichelsen avatar ChristianMichelsen commented on May 18, 2024 3

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.

wlievens avatar wlievens commented on May 18, 2024 2

This would be really neat, is anything like this planned?

from plotly_express.

nicolaskruchten avatar nicolaskruchten commented on May 18, 2024 1

Yep: plotly/plotly.js#2555

from plotly_express.

InCogNiTo124 avatar InCogNiTo124 commented on May 18, 2024 1

Bump for histograms on the diagonals

from plotly_express.

alexcjohnson avatar alexcjohnson commented on May 18, 2024

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.

alexcjohnson avatar alexcjohnson commented on May 18, 2024

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.

nicolaskruchten avatar nicolaskruchten commented on May 18, 2024

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.

alexcjohnson avatar alexcjohnson commented on May 18, 2024

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.

nicolaskruchten avatar nicolaskruchten commented on May 18, 2024

Something like that, yep

from plotly_express.

grisaitis avatar grisaitis commented on May 18, 2024

Is this not possible with graph_objects.Splom?

from plotly_express.

nicolaskruchten avatar nicolaskruchten commented on May 18, 2024

@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.

grisaitis avatar grisaitis commented on May 18, 2024

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.

dragoljub avatar dragoljub commented on May 18, 2024

👍 Would love to see this too!

from plotly_express.

rsgoodwin avatar rsgoodwin commented on May 18, 2024

@nicolaskruchten - I really like your suggestion. Would be very nice to have this as a feature.

from plotly_express.

milanzmitrovic avatar milanzmitrovic commented on May 18, 2024

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.

UpstatePedro avatar UpstatePedro commented on May 18, 2024

Is there any update on this?

from plotly_express.

hughjward avatar hughjward commented on May 18, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.