🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

975閲覧

railsを使ったアプリ内でグラフがうまく表示されません。データを入力していない日付に0が入ってしまい、それが反映されてしまいます。

tkm_mkzk

総合スコア1

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/12/08 09:07

編集2020/12/08 09:56

##イメージ説明sを使ったアプリ内でグラフがうまく表示されません。データを入力していない日付に0が入ってしまい、それが反映されてしまいます。データを入力した日付のみの点だけを結びたいです。グラフを作成するためのGemはchartkickとgroupdateを使用しております。

10月からプログラミングの学習を始め、現在railsでポートフォリオを作成しております。その中で体重管理機能を実装しようとしています。
数日前からグラフをきれいに表示させるべく、格闘していますがなかなかうまく表示されません。

発生している問題・エラーメッセージ

題名にもあるように、データを入力していない日付にも0がグラフに反映されてしまい、折れ線グラフがおかしくなってしまいます。

該当のソースコード

ruby

1 2app/views/body_weights/index.html.erb 3 4<%= line_chart @body_weights.group_by_day(:day).sum(:weight), curve: false, width: "80vw", height: "50vh", xtitle: "日付", ytitle: "kg", discrete: true %>

ruby

1 2app/controllers/body_weights_controller.rb 3 4def index 5 @body_weight = BodyWeight.new 6 @body_weights = current_user.body_weights 7end

グラフの画像

イメージ説明

データベースの画像

イメージ説明

試したこと

discrete: truewoを記述してみたこと
日付のグラフをdayカラムではなく、created_atをつかってみたこと

補足情報(FW/ツールのバージョンなど)

足りない点、アドバイス等なにかあればご指摘頂けると幸いです。宜しくお願いします。
rails6
mysql2
chartkick
groupdate

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/12/08 09:44

画像は外部サイトではなくteratailの画像投稿機能を利用して添付してください
tkm_mkzk

2020/12/08 09:52

すみません。了解しました。
guest

回答1

0

ベストアンサー

chartkick blank dateで検索したら以下がヒットしました。
series: false にしろとのことです。

Charts show Dates with 0 value for Non-Existent Days

@body_weights.group_by_day(:day, series: false).sum(:weight)

としてみてください。

もしくは、day カラムがあるのだからgroup_by_dayを使わずに、以下でも出来そうです。

@body_weights.group(:day).sum(:weight)

投稿2020/12/08 12:49

編集2020/12/08 13:37
neko_daisuki

総合スコア2090

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkm_mkzk

2020/12/08 14:25

できました。本当にありがとうございます。 検索の仕方が今ひとつ下手くそでなかなか見つけられずに本当に困っていました。 これからは英語の文章もしっかり読んでいこうと思います。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問