JupyterLab无花果未显示。它显示空白结果(但在jupyternotebook上工作正常)

时间:2019-10-16 07:34:01

标签: pandas jupyter-notebook jupyter-lab candlestick-chart alphavantage

我是JupyterLab的新手,想学习。

当我尝试绘制图形时,它在jupyter笔记本上可以正常工作,但在jupyterlab上却不显示结果。有人可以帮我吗?

以下是以下代码:

import pandas as pd
import pandas_datareader.data as web
import time
# import matplotlib.pyplot as plt
import datetime as dt
import plotly.graph_objects as go
import numpy as np
from matplotlib import style
# from matplotlib.widgets import EllipseSelector
from alpha_vantage.timeseries import TimeSeries

以下是绘图的代码:

def candlestick(df):
    fig = go.Figure(data = [go.Candlestick(x = df["Date"], open = df["Open"], high = df["High"], low = df["Low"], close = df["Close"])])
    fig.show()

JupyterLab结果: Link to the image (JupyterLab)

JupyterNotebook结果: Link to the image (Jupyter Notebook)

我已经将JupyterLab和Notebook更新到了最新版本。我不知道是什么原因导致JupyterLab停止显示该图。

感谢您阅读我的文章。帮助将不胜感激。

注意*

我没有包括用于数据读取的部分(Stock OHLC值)。它包含API密钥。不便之处,敬请原谅。 另外,这是我关于堆栈溢出的第二篇文章。如果这篇文章写得不好,对不起。如果可能的话,我会尽力而为。再次感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

TL; DR:

运行以下命令,然后重新启动Jupyter实验室

jupyter labextension install @jupyterlab/plotly-extension

通过以下方式开始实验:

jupyter lab

使用以下代码进行测试:

import plotly.graph_objects as go
from alpha_vantage.timeseries import TimeSeries

def candlestick(df):
    fig = go.Figure(data = [go.Candlestick(x = df.index, open = df["1. open"], high = df["2. high"], low = df["3. low"], close = df["4. close"])])
    fig.show()

# preferable to save your key as an environment variable....
key = # key here

ts = TimeSeries(key = key, output_format = "pandas")
data_av_hist, meta_data_av_hist = ts.get_daily('AAPL')

candlestick(data_av_hist)

更长的解释:

由于此问题与plotly有关,而不与matplotlib有关,因此您不必使用以下内容的“内联魔法”:

%matplotlib inline

每个扩展都必须安装到jupyter实验室,您可以通过以下方式查看列表:

jupyter labextension list

有关其他扩展程序的详细说明,请参见相关问题: jupyterlab interactive plot