1

財務データをインポートして、次のコードを使用してみました。正常に動作しますが、プロット的に空白のキャンバスを表示するだけです。絞り込んだところ、問題はカフスリンクであることがわかりました.iplotだけで(データフレームを使用していなくても問題なく動作します) ここに画像の説明を入力してください

import pandas as pd
import numpy as np
import datetime
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('whitegrid')
%matplotlib inline

start = datetime.datetime(2006, 1, 1)
end = datetime.datetime(2016, 1, 1)
# Bank of America
BAC = data.DataReader("BAC", 'yahoo', start, end)

# CitiGroup
C = data.DataReader("C", 'yahoo', start, end)

# Goldman Sachs
GS = data.DataReader("GS", 'yahoo', start, end)

# JPMorgan Chase
JPM = data.DataReader("JPM", 'yahoo', start, end)

# Morgan Stanley
MS = data.DataReader("MS", 'yahoo', start, end)

# Wells Fargo
WFC = data.DataReader("WFC", 'yahoo', start, end)

df = data.DataReader(['BAC', 'C', 'GS', 'JPM', 'MS', 'WFC'],'yahoo', start, end)

tickers = ['BAC', 'C', 'GS', 'JPM', 'MS', 'WFC']

bank_stocks = pd.concat([BAC, C, GS, JPM, MS, WFC],axis=1,keys=tickers)

# Optional Plotly Method Imports
import plotly
import cufflinks as cf
cf.go_offline()

bank_stocks.xs(key='Close',axis=1,level='Stock Info').iplot()
4

1 に答える 1

0

マルチインデックスの名前が抜けていたため、グラフが表示されなかったと思います。グラフを描画するコードの前に以下のコードを追加してください。

bank_stocks.columns.names = ['Bank Ticker','Stock Info']

ここに画像の説明を入力

また、表示漏れの原因として以下のコードを追加することも考えられます。この関数は、iplot() を実行する前に呼び出す必要があります。これも参照してください。

def enable_plotly_in_cell():
    import IPython
    from plotly.offline import init_notebook_mode
    display(IPython.core.display.HTML('''
            <script src="/static/components/requirejs/require.js"></script>
    '''))
    init_notebook_mode( connected=False )

import plotly
import cufflinks as cf
cf.go_offline()
enable_plotly_in_cell()

bank_stocks.xs(key='Close', axis=1, level='Stock Info').iplot()
于 2021-02-20T12:40:29.980 に答える