Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python plotly.offline.iplot在Jupyter Notebook/Lab中提供一个较大的空白字段作为其输出_Python_Jupyter Notebook_Plotly_Jupyter_Jupyter Lab - Fatal编程技术网

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

Python plotly.offline.iplot在Jupyter Notebook/Lab中提供一个较大的空白字段作为其输出,python,jupyter-notebook,plotly,jupyter,jupyter-lab,Python,Jupyter Notebook,Plotly,Jupyter,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.h

我正试图在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
它似乎运行得很好,各种输出乍一看都是正确的,但是
ply.offline.iplot(图,filename='Test')
的最终输出只是显示了一个大的空白字段: 将笔记本中的所有单元格运行一次后,终端看起来是这样的:

有人能告诉我哪里出了问题吗

  • 编辑:我还在plotly论坛上发布了这个问题:-

我过去在Jupyter的plotly offline中也遇到过类似的问题-有时当/为什么plotly无法显示时,会出现令人惊讶的不一致。从提高数据速率限制开始,可能值得一试


jupyter笔记本——NotebookApp.iopub\u data\u rate\u limit=1.0e10

为我帮助将笔记本更改为受信任的
笔记本(这启用了Javascript并提供了在jupyter笔记本中构建图形的绘图方式)

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

来自

这显示了一个数字,而这里的其他答案都不适用于我:

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安装,请确保您的安装是良好的,例如,
pip install--user--plotly升级
,如果这些答案对您都不起作用。试试这个

只需在管理员权限下打开的提示中执行此操作

pip install pip --upgrade
conda upgrade notebook or pip install notebook --upgrade

conda install -c conda-forge ipywidgets or pip install ipywidgets


您需要拥有最新版本的
jupyter笔记本
ipywidgets
我可以通过
jupyter笔记本
服务器(无任何附加选项)获得正确的显示,但会得到一个空白块 使用jupyter实验室的
服务器。相关版本信息:

$jupyter实验室--版本
0.35.5
$jupyter笔记本--版本
5.7.8
$python-c“打印导入;打印(打印版本)”
3.10.0

因此,对于使用JupyterLab的用户,要在JupyterLab中正确显示脱机
图形,我们需要使用以下命令安装
plotly扩展插件
(以下摘自a):

$jupyter-labextension安装@jupyterlab/plotly-extension
$jupyter labextension列表
$jupyter实验室建造

使用Google Colab时,请包含以下代码片段-

import plotly.io as pio
pio.renderers.default = 'colab'
或使用整体导入报表作为-

import plotly.offline as py
py.init_notebook_mode(connected=True)
import plotly.graph_objs as go
import plotly.io as pio
pio.renderers.default = 'colab'
from plotly.offline import init_notebook_mode, iplot
这会将渲染设置为Colab样式,并显示打印


希望这有帮助。

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

import plotly.io as pio
pio.renderers.default='notebook'

也使用了
fig.show(“笔记本”)
,而不是像建议的那样简单地使用fig.show()。

我自己也遇到了类似的问题,有一个sunburst图。空白图是由于无效数据造成的。我本来希望在运行时得到一个错误,但在一些罕见的情况下,似乎不会出现错误,而是显示一个空白的绘图


因此,请检查您的数据有效性,或使用plotly doc上提供的虚拟数据执行测试,以测试问题是否来自数据或plotly/notebook界面。

我认为您正在使用notebook。也许您需要%matplotlib像这样内联,但是对于plotly PackageDirect输出到文件,但是如果您创建I/O实体并接收输出,则进程在哪里,你必须进行必要的路由和寻址。你能检查你启动笔记本的终端是否有任何错误消息或警告吗?@elphz我在问题中添加了一个屏幕截图,在运行笔记本中的所有单元一次后,终端看起来是什么样子。嗯,不太有用。您的代码为我生成了一个图像,但我过去在Jupyter中的plotly offline中也遇到过类似的问题-有时当/为什么plots无法显示时,会出现令人惊讶的不一致。从提高数据速率限制开始,也许值得一试-
jupyter笔记本--NotebookApp.iopub\u data\u rate\u limit=1.0e10
谢谢,这很有效。虽然我想知道为什么,因为它以前在同一个笔记本上工作,但它是“不可信的”。我在jupyter实验室看到了这个问题。当我切换到笔记本应用程序时,这个建议对我起了作用。有没有办法通过jupyter实验室设置此参数?@MichaelSzczepaniak您找到jupyter实验室设置此参数的方法了吗?