J'essaie de créer un graphique Sankey dans un cahier Jupyter, en me basant sur le code le premier exemple présenté ici .
Je me suis retrouvé avec ceci, que je peux exécuter sans commettre d'erreur:
import numpy as npy
import pandas as pd
import plotly as ply
ply.offline.init_notebook_mode(connected=True)
df = pd.read_csv('C:\\Users\\a245401\\Desktop\\Test.csv',sep=';')
print(df.head())
print(ply.__version__)
data_trace = dict(
type='sankey',
domain = dict(
x = [0,1],
y = [0,1]
),
orientation = "h",
valueformat = ".0f",
node = dict(
pad = 10,
thickness = 30,
line = dict(
color = "black",
width = 0.5
),
label = df['Node, Label'].dropna(axis=0, how='any'),
color = df['Color']
),
link = dict(
source = df['Source'].dropna(axis=0, how='any'),
target = df['Target'].dropna(axis=0, how='any'),
value = df['Value'].dropna(axis=0, how='any'),
)
)
print(data_trace)
layout = dict(
title = "Test",
height = 772,
width = 950,
font = dict(
size = 10
),
)
print(layout)
fig = dict(data=[data_trace], layout=layout)
ply.offline.iplot(fig, filename='Test')
Avec le fichier csv ressemblant à ceci:
Source;Target;Value;Color;Node, Label
0;2;2958.5;#262C46;Test 1
0;2;236.7;#262C46;Test 2
0;2;1033.4;#262C46;Test 3
0;2;58.8;#262C46;Test 4
0;2;5.2;#262C46;Test 5
0;2;9.4;#262C46;Test 6
0;2;3.4;#262C46;Test 7
Il semble fonctionner correctement, avec les différentes sorties regardant tout de suite, mais la sortie finale de ply.offline.iplot(fig, filename='Test')
ne montre qu'un grand champ vide: Le terminal ressemble à ceci après avoir exécuté toutes les cellules du cahier une fois:
Est-ce que quelqu'un peut m'indiquer où je me trompe ici?
J'ai eu des problèmes similaires avec plotly offline dans Jupyter dans le passé - il est parfois étonnamment incohérent lorsque/pourquoi les parcelles ne s'affichent pas. Il peut être intéressant d'essayer de commencer avec une limite de débit de données accrue.
jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10