【49日目】SMAを描いている:失敗【Plotly&Django】
今日の画像のイメージは「失敗」です。
1.お手本を参考に実践
実際にSMAを組み込みんで表示するためにプログラムを書いてみたよ。
from plotly import graph_objs as g_o
def post(self,request):
choice_symbol = request.POST["choice_symbol"]
choice_timeframe = request.POST["choice_timeframe"]
choice_period = int(request.POST["choice_period"])
num_candlestick = calc_num_candlestick(choice_period,choice_timeframe)
data = Rate.objects.all().values("timestamp","open_rate", "high_rate", "low_rate", "close_rate").order_by('-timestamp')[:num_candlestick]
df_row = convert2df(data,choice_timeframe)
df = check_ohlc(df_row)
sma10 = df["close_rate"].rolling(window=10).mean()
fig = ff.create_candlestick(df["open_rate"], df["high_rate"], df["low_rate"], df["close_rate"], dates=df.index)
sma_fig = g_o.Scatter(x=sma10.index, y=sma10.values, mode='lines', name='sma10')
fig.data.append(sma_fig)
plot_chart = plot(fig, output_type='div', include_plotlyjs=False)
self.params['msg']="条件:"+ choice_symbol + " , "+ choice_timeframe
self.params['form'] = ChartForm(request.POST)
self.params['plot_chart'] = plot_chart
return render(request,'chart/index.html', self.params)
なんだか、エラーが出る。
fig.data.append(sma_fig)
としているが、fig.dataはタプルのため、appendできないらしい…
2.どこに問題がありそうか確認
参考にしてた記事とどこが違ってるのか確かめる。
まずはfigの属性の確認から。
<お手本>
<class 'plotly.graph_objs.graph_objs.Figure'>
<自分>
class 'plotly.graph_objs._figure.Figure
既に何か違うんですけど…
3.他の記事を参考にする
以下の記事だとdictにしてから追加してる?
あなたによって僕は生かされている。 私もあなたを生かせられますように。