nec*_*ker 6 javascript ruby charts ruby-on-rails ruby-on-rails-4
我安装了chartkick 1.2.0和groupdate 1.0.4 gem.当我尝试做某事时:
<%= area_chart Match.group_by_day_of_week(:created_at).count, :width=>"700px;", :height=>"150px;" %>
Run Code Online (Sandbox Code Playgroud)
我明白了:
它总是给我错误的y轴.我应该如何格式化它以便显示"星期一","星期二"......
我的第二个例子,我也说不出正确的是在一天内按小时分组.
<% 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;" %>
Run Code Online (Sandbox Code Playgroud)
我做错了什么,它显示在凌晨1点00分等?我想要数字即:0,1,2,3 .. 23?
我google了一下,检查了他们的文档从上到下:http://ankane.github.io/chartkick/现在几个小时,我真的不知道我错过了什么.任何帮助将不胜感激!
Chartkick 的 Github 上的这个帖子表明图表库(在你的例子中是 Highcharts?)对你想要什么样的 X 轴做出了假设。据猜测,我想说这里的问题是库做出了错误的假设,因此请尝试以更明显的格式命名输入的键。
在第一个示例中,您可以尝试使用"Monday"
、"Tuesday"
等作为键而不是0
、1
等:
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
Run Code Online (Sandbox Code Playgroud)
对于第二个示例,尝试格式化日期,以便%H:%M:%S
更明显地表明您需要时间轴:
abc=Matches.on_location(@location).group_by{|b| b.created_at.strftime("%H:%M:%S")}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1480 次 |
最近记录: |