plotlyのsubplotを利用して同時に複数のローソク足をレンジスライダーなしで表示したいのです。
ですが、下記コードだと上手くいきません。
for i in range(2): trace= ploty.Candlestick(x=df.index,df.open,df.hi,df.low,df.close) layout = go.Layout(xaxis = dict(rangeslider = dict(visible = False))) data = [trace] fig = tools.make_subplots(rows=2, cols=1) fig = go.Figure(data=data,layout=layout) fig.append_trace(trace,i,1)
解決策ありましたら、よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
plotlyでsubplotを利用する場合のlayout設定の方法で行き詰っていたのですね。
それなら、こちらではどうでしょうか?
# coding:utf-8 import numpy as np from plotly import tools import plotly.graph_objs as go import datetime import plotly.offline as offline offline.init_notebook_mode() d1 = datetime.date(2017, 1, 1) d1_list = [] for i in range(0, 100): temp = d1 + datetime.timedelta(i) d1_list.append(temp) X = np.random.randint(0, 50, 100) Y = np.random.randint(0, 100, 100) trace0 = go.Bar(x=d1_list, y=X, name='X') trace1 = go.Bar(x=d1_list, y=Y, name='Y') fig = tools.make_subplots(rows=2, cols=2, subplot_titles=("fig1", "fig2","fig3", "fig4")) fig.append_trace(trace0,1,1) fig.append_trace(trace1,2,1) fig.append_trace(trace1,1,2) fig.append_trace(trace0,2,2) fig['layout'].update(title='test', xaxis1={"rangeslider": {"visible": False}}, xaxis2={"rangeslider": {"visible": True}}, xaxis3={"rangeslider": {"visible": False}}, xaxis4={"rangeslider": {"visible": False}} ) offline.plot(fig, filename="teratail_145689.html")
投稿2018/09/28 10:34
総合スコア253
0
ベストアンサー
それでは、例えばこんな形ではどうでしょう?
fig = tools.make_subplots(rows=2, cols=2, subplot_titles=("fig1", "fig2","fig3", "fig4")) k=0 for i in range(0,2): for j in range(0,2): fig.append_trace(trace0,j+1,i+1) k += 1 layout_txt = dict(rangeslider=dict(visible=False)) fig['layout']['xaxis'+str(k)].update(layout_txt) offline.plot(fig, filename="teratail_145689.html")
投稿2018/10/03 03:36
総合スコア253
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
エラーメッセージを記載したほうがアドバイスが付きやすいとおもいますよ。
fig.append_trace(trace,i,1)
の部分を
fig.append_trace(trace,i+1,1)
に変更してみてはいかがでしょうか?
offline.plot(fig)
みたいな表示コマンドは指定されていますよね?
toolsのimportエラーはおきていないでしょうか?
なお、現在のPG内容の場合、
fig.append_trace(trace,i,1)
の部分だけがLOOPの中でまわす必要がある部分のようです。
いかに適当なそれっぽいサンプルコードをはっておきます。
# coding:utf-8 import numpy as np from plotly import tools import plotly.graph_objs as go import datetime import plotly.offline as offline d1 = datetime.date(2017, 1, 1) d1_list = [] for i in range(0, 100): temp = d1 + datetime.timedelta(i) d1_list.append(temp) X = np.random.randint(0, 50, 100) Y = np.random.randint(0, 100, 100) layout = go.Layout(xaxis=dict(rangeslider=dict(visible=False))) trace0 = go.Scatter(x=d1_list, y=X, mode='lines', name='X') trace1 = go.Scatter(x=d1_list, y=Y, mode='lines', name='Y') fig = tools.make_subplots(rows=2, cols=1) for i in range(2): if i==0: data = trace0 else: data = trace1 fig.append_trace(data,i+1,1) offline.plot(fig)
投稿2018/09/21 06:54
総合スコア253
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/24 19:26
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/02 13:23
2018/10/03 03:35