ValueError at /accounts/result cannot convert float NaN to integer とエラーが出ました。
views.pyに
@login_required def result(request): return render(request, 'result.html', {'chart': _view_plot(request)}) def _view_plot(request): results = ImageAndUser.objects.filter(user=request.user).order_by('-date') left = np.array([results[0].score, results[1].score,results[2].score, results[3].score, results[4].score]) height = np.array([100, 300, 200, 500, 400]) plt.plot(left, height) plt.xticks(left, ['2016-04-10', '2016-10-05', '2016-10-10', '2016-10-11', '2016-12-10']) jpg_image_buffer = cStringIO.StringIO() plt.savefig(jpg_image_buffer) array = base64.b64encode(jpg_image_buffer.getvalue()) jpg_image_buffer.close() return array
と書きました。
エラーがでた原因はわかっていて、results[0].score と results[1].scoreとscore,results[2].score には値が入っているのですが、results[3].scoreとresults[4].score には値が入っていません。なので、値が入っているところまで折れ線グラフを作りたいのですが、どのように書けば目的のことができるでしょうか?
またユーザーごとに値が入っている数が違い、あるユーザーはresults[0].score〜results[1]まで値が入っていて、別のユーザーはresults[0]にだけ値が入っていて(この場合は、折れ線グラフで表示するのは無理なので丸で表示させたい)、また別のユーザーはresults[0].score〜results[4].scoreの全部に値が入っています。
それにも対応するようにコードを書きたいです。どのように直おせば良いのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。