JupyterノートブックでSankeyチャートを作成しようとしています。コードは 最初の例 に基づいています。
私はこれで結局、エラーなしで実行できます:
_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')
_
Csvファイルは次のようになります。
_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
_
一見、さまざまな出力lookingで正常に動作しているようですが、ply.offline.iplot(fig, filename='Test')
からの最終出力は大きな空白フィールド: ノートブック内のすべてのセルを1回実行すると、ターミナルは次のようになります。
誰かが私がここで間違っている場所を教えてもらえますか?
過去にJupyterでプロットオフラインで同様の問題が発生しました-プロットが表示されないとき/なぜ失敗するかは、驚くほど矛盾しています。データレートの制限を増やして、試してみる価値があります。
jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10
jupyter notebook
サーバー(追加オプションなし)で正しい表示を取得できますが、jupyter lab
サーバー。関連バージョン情報:
$ jupyter lab --version
0.35.5
$ jupyter notebook --version
5.7.8
$ python -c "import plotly; print(plotly.__version__)"
3.10.0
したがって、JupyterLabを使用している場合、オフラインplotly
グラフJupyterLab、次のコマンドでplotly-extension
をインストールする必要があります(以下は 関連する回答 ):
$ jupyter labextension install @jupyterlab/plotly-extension
$ jupyter labextension list
$ jupyter lab build
これらの答えがどれもうまくいかなかった場合。これを試して
管理者権限で開かれたcondaプロンプトでこれを行う
pip install pip --upgrade
conda upgrade notebook or pip install notebook --upgrade
conda install -c conda-forge ipywidgets or pip install ipywidgets
jupyter notebook
およびipywidgets
の最新バージョンが必要です。
これは図を表示しますが、ここでの他の答えはどれも私にとってはうまくいきませんでした:
import plotly.graph_objs as go
fig = go.FigureWidget()
# Display an empty figure
fig
これは(新しいセルで)上記のプロットを棒グラフと折れ線グラフで変更します。
# Add a scatter chart
fig.add_scatter(y=[2, 1, 4, 3])
# Add a bar chart
fig.add_bar(y=[1, 4, 3, 2])
# Add a title
fig.layout.title = 'Hello FigureWidget'
それでもうまくいかない場合は、インストールが適切であることを確認してください。 pip install --user --upgrade plotly
pipでインストールした場合