未在Jupyter笔记本中显示的图表

时间:2018-10-12 02:25:44

标签: python jupyter-notebook plotly

我已经尝试解决这个问题了好几个小时了。我按照Plotly website上的步骤进行操作,但笔记本中仍未显示该图表。

这是我的剧情代码:

colorway = ['#f3cec9', '#e7a4b6', '#cd7eaf', '#a262a9', '#6f4d96', '#3d3b72', '#182844']

data = [
    go.Scatter(
        x = immigration.columns,
        y = immigration.loc[state],
                   name=state) for state in immigration.index]

layout = go.Layout(
    title='Immigration',
    yaxis=dict(title='Immigration %'),
    xaxis=dict(title='Years'),
    colorway=colorway,
    font=dict(family='Courier New, monospace', size=18, color='#7f7f7f')
)

fig = go.Figure(data=data, layout=layout)
iplot(fig)

这就是我导入到笔记本中的所有内容:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot

init_notebook_mode(connected=True)  

5 个答案:

答案 0 :(得分:14)

要在Jupyter Lab中使用Plotly,请确保已安装ipywidgets并且已进行plotly,然后运行以下命令:

jupyter labextension install jupyterlab-plotly

# OPTIONAL: Jupyter widgets extension

jupyter labextension install @jupyter-widgets/jupyterlab-manager plotlywidget

Source docs

还有here's有关Jupyter Lab的Plotly故障排除指南。

答案 1 :(得分:4)

假设您使用的是 JupyterLab,因此 Plotly Troubleshooting

<块引用>

为了在 JupyterLab 中使用 plotly,你必须有扩展 已安装,详见Getting Started guide。那里有两个 扩展:jupyterlab-plotly 用于使用 fig.show() 渲染图形 和 plotlywidget 用于 FigureWidget

假设您已正确安装所有库(确保已安装 ipywidgetsnodejs)并假设其中一个正在使用 conda,请访问 conda prompt 以获取环境一个正在工作(“服务器”环境)。

列出实验室的扩展

jupyter labextension list

就我而言,我得到了

JupyterLab v2.2.9
No installed extensions

然后我需要安装扩展jupyterlab-plotly(现在需要库nodejs

jupyter labextension install jupyterlab-plotly@4.14.3

plotlywidget [可选]

jupyter labextension install @jupyter-widgets/jupyterlab-manager plotlywidget@4.14.1

现在您将能够可视化您的绘图。


注意

<块引用>

如果您在多个 python 环境中使用 JupyterLab, 扩展必须安装在“服务器”环境中,并且 必须在每个“处理”中安装 plotly python 库 您打算使用的环境。

答案 2 :(得分:2)

如果要在离线模式下工作,则需要更改init_notebook_mode通话。

如此:

# Import the necessaries libraries
import plotly.offline as pyo
import plotly.graph_objs as go
# Set notebook mode to work in offline
pyo.init_notebook_mode()
# Create traces
trace0 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17]
)
trace1 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[16, 5, 11, 9]
)
# Fill out data with our traces
data = [trace0, trace1]
# Plot it and save as basic-line.html
pyo.iplot(data, filename = 'basic-line')

输出应显示在您的jupyter笔记本中:

My example

答案 3 :(得分:1)

如果要使用Jupyter Lab,则必须安装可扩展的Jupyterlab扩展:https://github.com/jupyterlab/jupyter-renderers/tree/master/packages/plotly-extension

答案 4 :(得分:1)

作为 Plotly 的新手,我遇到了同样的问题。我尝试了上述所有内容,但仍然得到空白图表。事实证明,只安装 jupyterlab 扩展就足够了,但是您需要关闭并重新启动 jupyterlab 本身。只是重新启动内核没有帮助。