go.Sankey not respecting (x,y) coordinates
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 18.8k
- Fork
- 2.8k
- Merge medio
- 16h 26m
- PR unite (30g)
- 21
Descrizione
The code below
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objects as go
from dash import Dash
app = Dash(__name__)
def sankey():
x = [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 1.0]
y = [
0.21630069,
0.47642676,
0.54677235,
0.62167333,
0.74199201,
0.29388136,
0.73906564,
0.89679547,
0.95161119,
0.29388135,
]
label = list("ABCDEFGHIJ")
source = [0, 1, 0, 1, 2, 2, 2, 2, 0, 1, 2, 2, 3, 4, 5, 6, 6, 8]
target = [5, 5, 2, 2, 5, 5, 7, 7, 6, 6, 6, 6, 5, 5, 9, 9, 8, 9]
value = [
4.03086075e-02,
3.13536457e-01,
4.74989358e-03,
4.82905398e-02,
2.57156646e-03,
2.55178406e-02,
1.15108889e-03,
1.17027262e-02,
7.78313638e-03,
7.07743914e-02,
1.02723822e-03,
1.10699730e-02,
1.43875830e-01,
6.19524093e-02,
3.81934471e-01,
2.05828238e-01,
6.19685055e-02,
2.53269630e-17,
]
fig = go.Figure(
data=[
go.Sankey(
arrangement="fixed",
node=dict(
# thickness=20,
# line=dict(color="black", width=0.5),
label=label,
x=x,
y=y,
),
link=dict(source=source, target=target, value=value),
)
]
)
return fig
app.layout = html.Div([dcc.Graph(figure=sankey())])
if __name__ == "__main__":
app.run_server(debug=True)
generates

which is not expected as:
- nodes A,B,C,D and E have all same x coordinates (should be aligned on same vertical line)
- nodes A,B,C,D,E should be ordered from top to bottom as they have increasing y coordinates
I may have misunderstood the (x,y) coordinates logic or it is a bug...
Libraries version:
plotly==4.9.0
dash==1.16.3
dash-core-components==1.12.1
dash-html-components==1.1.1
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia eseguendo l'esempio Sankey fornito con le versioni elencate di plotly, Dash e del componente, quindi verifica in che modo arrangement="fixed" applica i valori x e y forniti ai nodi. Il lavoro è completato quando i nodi A–E condividono un allineamento verticale e compaiono dall'alto verso il basso in ordine crescente di y, con una copertura del comportamento segnalato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- data-visualization
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 38/100