2021年04月04日に参加
学習履歴詳細
体調グラフ機能で複数カラムを動的に表示する方法を調べる
Ajaxを使用して動的にグラフを描画する方法が分からないこと。
我流で闇雲に学習するよりも, よい教材がないかメンター聞いた方が良いと思い、メンターに質問を送った。
アプリ制作
実現したいこと(1)
複数カラムを選択して同時に描画する.
activity, appetite, moodの3カラムのボタンを設置する.
3つのボタンはON/OFFにすることができ、ONの状態にあるカラムをまとめて表示したい。
試したこと
Rails Chart.js Dynamically change column
で調べると、Ajaxを使った方法が多く見られた。
Ajaxを使用したことがないので、学習方法をメンターに質問。(進捗報告も兼ねて)
実現したいこと(2)
Diaryのカラムごとに色分けをしてグラフを表示する
どのように実装するか
Chartjs-ror gem を導入し, グラフのUIをRailsで設定できるようにする。
# example data = { labels: ["January", "February", "March", "April", "May", "June", "July"], datasets: [ { label: "My First dataset", backgroundColor: "rgba(220,220,220,0.2)", borderColor: "rgba(220,220,220,1)", data: [65, 59, 80, 81, 56, 55, 40] }, { label: "My Second dataset", backgroundColor: "rgba(151,187,205,0.2)", borderColor: "rgba(151,187,205,1)", data: [28, 48, 40, 19, 86, 27, 90] } ] } options = { ... } <%= line_chart data, options %>
- dataハッシュ
- labelsキー: X軸の値 (Array)
- datasetsキー:単独または複数の datasetハッシュ (Array)
datasetハッシュ (ある期間における1カラムのグラフを表す)
- labelキー : legend name (String)
- backgroundcolorキー: グラフの背景色, rgba (String)
- bordercolorキー: グラフの枠線の色, rgba(String)
- dataキー: Y軸の値(Array)
Viewで
line_chartメソッド
を呼び出し, 引数にdata
,option
を代入する
使用したい色
#51a370 rgb(81,162,112) Green Mood #ffeb8a rgb(255,235,138) YELLOW Appetite #e86c4e rgb(232,108,77) Orange Activity
その他の作業
- 期間やカラムの移動に関するリンクをテンプレート化し、
app/views/layouts
へ置いた
プロを目指す人のためのRuby入門
- 10章 Procとラムダ(2時間)
Ruby
Rails
2019年10月17日(木)
6.0時間