plotly.offline.iplot 在 Jupyter Notebook/Lab 中提供一个大的空白字段作为其输出

问题描述

我正在尝试在 Jupyter 笔记本中创建一个桑基图,我的代码基于 运行笔记本中的所有单元后,终端如下所示:

有人可以指出我在这里出错的地方吗?

  • 我还在 plotly 论坛上发布了这个问题:https://community.plot.ly/t/no-output-from-plotly-offline-iplot/8086 -

解决方案

过去我在 Jupyter 中的 plotly 离线时也遇到过类似的问题 - 有时当/为什么情节无法出现时会出人意料地不一致.从提高数据速率限制开始可能值得一试.

jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

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?

  • edit: I also posted this question on the plotly forums: https://community.plot.ly/t/no-output-from-plotly-offline-iplot/8086 -

解决方案

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

相关文章