plotly / plotly.py

The interactive graphing library for Python :sparkles: This project now includes Plotly Express!
https://plotly.com/python/
MIT License
16k stars 2.53k forks source link

add chord diagrams #2983

Open guettli opened 3 years ago

guettli commented 3 years ago

Thanks for your developing plotly.py!

There is a description how to create a chord diagram for version3:

https://plotly.com/python/v3/filled-chord-diagram/

It would be nice to have this for version4, too.

guettli commented 3 years ago

Just for the records, I found the holoviews Chord, which looks good: https://holoviews.org/reference/elements/bokeh/Chord.html

kurt-rhee commented 3 years ago

Also interested in Chord diagrams in v4

mirk-00 commented 2 years ago

I also would like a Chord graph feature since other visualization packages already have it.

matanox commented 9 months ago

Should we understand it is no longer a working supported part of later versions of plotly?

alexcjohnson commented 9 months ago

That example will still work, but it's awfully cumbersome. We wouldn't be opposed to adding chord diagrams to plotly.js / .py, but there's already a Circos component in dash-bio that makes full-featured chord diagrams https://dash.plotly.com/dash-bio/circos

matanox commented 9 months ago

Thanks for the reference. Circos was probably the first to introduce chord diagrams for the masses, it is probably the most versatile today I would guess. What are your cons and pros for switching to use dash though?

alexcjohnson commented 9 months ago

Pros: you get access to a whole bunch more types of visualization that don't exist in plotly.js/.py (see also dash-cytoscape, dash-vtk, dash-leaflet... there's a ton out there) and you can hook them up to each other in ways that can make data exploration more efficient.

Cons: A bit of boilerplate because you need to create a Dash app to put the component into, and that app keeps an extra process running in order to serve interaction callbacks. If you want to run inside Jupyter see https://dash.plotly.com/dash-in-jupyter. FWIW We're exploring some ideas to simplify this, but no timeline as yet.