6

chartkick 1.2.0 と groupdate 1.0.4 gem がインストールされています。次のように sth を実行しようとすると:

  <%= area_chart Match.group_by_day_of_week(:created_at).count, :width=>"700px;", :height=>"150px;"  %>

私はこれを得る:

ここに画像の説明を入力

それはいつも私に間違ったy軸を与えます。「月曜」「火曜」と表示されるようにするにはどうすればよいでしょうか...

私も正しく理解できない私の 2 番目の例は、1 日の時間を時間単位でグループ化することです。

  <% abc=Matches.on_location(@location).group_by{|b| b.created_at.strftime("%H").to_i} %>
  <% abc.update(abc){|key, v| v.length} %>
  <%= abc=abc.sort_by{|k,v| k} %>
  <%= area_chart abc, :width=>"700px;", :height=>"150px;"  %>

午前 1:00:00 などと表示されますが、何が間違っていますか? 数字が欲しいだけです。つまり、0、1、2、3 .. 23?

私はグーグルで検索し、ドキュメントを上から下までチェックしました: http://ankane.github.io/chartkick/数時間、何を見逃したのか本当にわかりません。どんな助けでも大歓迎です!

4

2 に答える 2

2

Chartkick の Github のこのスレッドは、グラフ作成ライブラリ (あなたの場合は Highcharts?) が、必要な X 軸の種類について仮定していることを示しています。推測では、ここでの問題は、ライブラリが誤った仮定を行っていることだと思います。そのため、入力のキーにわかりやすい形式で名前を付けてみてください。

最初の例では、、、などの代わりに、、などをキーとして使用"Monday"してみることができます。"Tuesday"01

results = Match.group_by_day_of_week(:created_at).count # hash with numeric keys
days = %w(Monday Tuesday Wednesday Thursday Friday Saturday Sunday)
results = results.inject({}){|a, (k,v)| a.update(days[k] => v); a } # change numeric keys to weekday name

%H:%M:%S2 番目の例では、時間軸が必要であることがより明確になるように、日付を次のようにフォーマットしてみてください。

abc=Matches.on_location(@location).group_by{|b| b.created_at.strftime("%H:%M:%S")}
于 2013-10-30T22:42:14.773 に答える
1

残念ながら、現時点ではこれを行う方法はありません。別の方法として、縦棒グラフを試すこともできます。

于 2013-11-03T08:19:29.123 に答える