我在我的项目中使用了chartkick和gem“groupdate”。
<%= area_chart SugarLevel.group_by_minute(created_at).sum(:mmol) %>
我想继续从一个点到另一个点。我对groupdate做错了。如果某一分钟没有数据,则该行必须从上一点开始,并且必须在下一点结束。
答案 0 :(得分:0)
gem中的方法“groupdate”group_by_something
使用Hash
来存储数据。例如:
@hash = SugarLevel.group_by_minute(:created_at).sum(:mmol) # => {Thu, 01 Jun 2017 17:39:00 UTC +00:00=>#<BigDecimal:2add9a8,'0.77E1',18(18)>, Thu, 01 Jun 2017 17:40:00 UTC +00:00=>0, Thu, 01 Jun 2017 17:41:00 UTC +00:00=>0, Thu, 01 Jun 2017 17:42:00 UTC +00:00=>0, Thu, 01 Jun 2017 17:43:00 UTC +00:00=>0}
我们可以根据需要清除此哈希:
@hash.select{|k, v| v != 0} # Select all keys which do not consist 0
最后,我们可以把它放在一个观点:<%= area_chart @hash %>