【问题标题】:How can I create a time-series array so I can have a bar graph in Ruby on Rails?如何创建时间序列数组,以便在 Ruby on Rails 中创建条形图?
【发布时间】:2010-10-22 20:43:25
【问题描述】:

我有一个模型,ContactEmail,它有一个 date_sent 属性和一个 email_id,引用另一个模型 Email。

我想创建一个条形图,在 x 轴上显示日期,在 y 轴上显示在特定日期发送的 ContactEmail 数量。

我也想做同样的事情,过滤掉 email_id 等于特定值的 ContactEmails。

我的最终目标是制作某种条形图——我仍在研究如何做到这一点,但无论如何,我似乎需要某种时间序列数组,我想应该有日期作为一个元素,计数作为另一个元素。

我该怎么做?

我正在查看的图形解决方案称为 Seer:

http://github.com/Bantik/seer

我正在使用统计 gem,它输出的哈希值如下所示:

=> #<OrderedHash {"2010-10-23"=>2, "2010-09-22"=>3, "2010-09-11"=>1, "2010-08-27"=>1, "2010-10-15"=>
1, "2010-09-15"=>1, "2010-08-08"=>2, "2010-10-17"=>14, "2010-10-06"=>2, "2010-09-28"=>1, "2010-10-19
"=>1, "2010-09-20"=>1}>

1) 我怎样才能把它放在一个订单中? 2) Seer 能识别空日期值吗?

【问题讨论】:

    标签: ruby-on-rails arrays graph time-series


    【解决方案1】:

    嗨,你可以尝试做一些哈希

    list = {}
    ModelName.all.each do |mn|
     date = p.created_at.to_date 
     list[date] = 0 if list[date].blank?
     list[date] += 1
    end
    

    你会得到类似的东西

    {Fri, 22 Oct 2010=>1021, Sat, 23 Oct 2010=>1}
    

    【讨论】:

      【解决方案2】:

      我使用了统计宝石

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-31
        • 1970-01-01
        • 2012-02-13
        相关资源
        最近更新 更多