plotly / plotly/plotly.py

Improper Sankey rendering for certain minimal topologies with loops

Offen
#3,587 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug P3
Vorherrschende Sprache
Python
Sterne
18.8k
Forks
2.8k
Ø Merge
16 Std. 26 Min.
Gemergte PRs (30 T.)
21

Beschreibung

Sankey engine fails to correctly draw certain graphs containing loops. Attached is a minimal example containing 4 nodes and 5 traces. If any trace value is set to 0, the graph renders correctly.

Tested in python on plotly 5.5.0

import plotly.graph_objects as go
nodes = {'label': ['node 0', 'node 1', 'node 2', 'node 3']}
links = {'source': [0, 1, 2, 2, 3], 'target': [3, 0, 0, 3, 2], 'value': [1, 1, 1, 1, 1]}
go.Figure(go.Sankey(node=nodes, link=links)).show()

bad_sankey

In the correct rendering, the trace connecting node 2 to node 0 should be straight across.

This may be related to https://github.com/plotly/plotly.py/issues/3568

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem minimalen Python-Sankey-Beispiel im Issue und vergleiche dessen Darstellung, wenn alle Link-Werte 1 sind, mit der Darstellung, wenn ein Wert 0 ist. Sieh dir anschließend das zugehörige Issue #3568 als Kontext an und verfolge den Rendering-Pfad von Sankey, um festzustellen, warum der Link von Knoten 2 zu Knoten 0 nicht gerade ist; abgeschlossen ist die Aufgabe, wenn die bereitgestellte Topologie korrekt dargestellt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
32/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.