I am trying to create a Sankey chart in a Jupyter notebook, basing my code on the first example shown here.
I ended up with this, which I can run without getting any errors:
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')
With the csv-file looking like this:
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
It seems to run fine, with the various outputs looking right at a first glance, but the final output from ply.offline.iplot(fig, filename='Test')
just shows a large blank field: The terminal looks like this after having run all the cells in the notebook once:
Can someone please point me to where I am going wrong here?
Plotly allows you to generate graphs offline and save them in local machine. The plotly. offline. plot() function creates a standalone HTML that is saved locally and opened inside your web browser.
Plotly is a free and open-source graphing library for Python. We recommend you read our Getting Started guide for the latest installation or upgrade instructions, then move on to our Plotly Fundamentals tutorials or dive straight in to some Basic Charts tutorials.
Plotly is now more powerful than ever with a new open source library named JupyterDash. JupyterDash is developed on top of the Dash framework to make it completely suitable for notebook environments such as Colab.
I have had similar issues with plotly offline in Jupyter in the past - sometimes it's surprisingly inconsistent when/why the plots fail to appear. It may be worth a try starting with an increased data rate limit.
jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10
I tried all the solutions suggested here, but none of them worked for me. What solved the issue was adding:
import plotly.io as pio pio.renderers.default='notebook'
and also using fig.show("notebook")
rather than simply fig.show(), as suggested here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With