plotly.offline.iplot给出一个大的空白字段作为其输出 - 为什么?

eir*_*ude 16 python plotly jupyter jupyter-notebook jupyter-lab

我正在尝试在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')
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

它似乎运行正常,与各种输出第一眼的权利,但最终输出的ply.offline.iplot(fig, filename='Test')只是显示一个大的空白字段: 在此输入图像描述 在运行笔记本中的所有单元格后,终端看起来像这样: 在此输入图像描述

有人可以指点我到哪里错了吗?

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

elz*_*elz 16

在过去的Jupyter中,我遇到了类似的问题 - 有时候出现错误的时候/为什么情节会出现意外不一致.从增加的数据速率限制开始可能值得一试.

jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

  • 在 jupyter 实验室中看到了这个问题。当我切换到笔记本应用程序时,这个建议对我有用。有没有办法通过 jupyter lab 设置这个参数? (5认同)

Dmi*_*sil 8

对我来说,帮助将笔记本更改为Trusted(这启用了 Javascript 并提供了将图形构建到 jupyter 笔记本中的巧妙方法。)。

您可以在此处找到此选项:

在笔记本的右上角


sou*_*alo 7

我尝试了这里建议的所有解决方案,但没有一个对我有用。解决问题的是添加:

import plotly.io as pio
pio.renderers.default='notebook'
Run Code Online (Sandbox Code Playgroud)

并且还使用fig.show("notebook")而不是简单地fig.show(),作为建议在这里