الرسوم البيانية مستخدمين جدد حسب التاريخ في تطبيق القضبان باستخدام السير

StackOverflow https://stackoverflow.com/questions/2440957

  •  19-09-2019
  •  | 
  •  

سؤال

أرغب في تطبيق رسم بياني متداول يعرض مستخدمين جدد يوما بعد آخر 7 أيام باستخدام السير.

لقد حصلت على تثبيت السير:

http://www.idolhands.com/ruby-on-rains/gems-plugins-and-engines/graphing-for-ruby-on-rains-with-seer.

أنا تكافح للحصول على ذهني حول كيفية التنفيذ.

لدي مجموعة من المستخدمين الذين أريد رسمهم:

users = users.all (: الشروط => {: creatic_at => 7.days.ago.time.zone.now})

لا يمكن أن نرى الطريقة الصحيحة لتنفيذ: Data_method لتدليلها بواسطة تاريخ Created_AT.

أي شخص فعل هذا أو ما شابه مع السير؟

أي شخص أكثر ذكاء مني قادر على شرح هذا بعد النظر إلى صفحة عينة السير (مرتبطة أعلاه)؟

هل كانت مفيدة؟

المحلول

أفترض أنك تحاول إظهار عدد المستخدمين الجدد يوما بعد يوم في آخر 7 أيام. إذا كان الأمر كذلك يمكنك القيام بما يلي

رمز تحكم

# declare a struct to hold the results
UserCountByDate = Struct.new(:date, :count) 

def report
  @user_counts = User.count( :group => "DATE(created_at)", 
                   :conditions => ["created_at >= ? ", 7.days.ago], 
                   :order => "DATE(created_at) ASC"
                 ).collect do |date, count| 
                   UserCountByDate.new(date, count)
                 end

end

عرض الرمز

<div id="chart"></div>

<%= Seer::visualize(
      @user_counts, 
      :as => :column_chart,
      :in_element =>'chart', 
      :series => {
        :series_label => 'date',
        :data_method => 'count'
      },
      :chart_options => {
        :height => 300,
        :width => 100 * @user_counts.size,
        :is_3_d => true,
        :legend => 'none',
        :colors => "[{color:'#990000', darker:'#660000'}]",
        :title => "New users in last 7 days",
        :title_x => 'date',
        :title_y => 'count'
      }
    )
 -%>

ال data_method يجب أن تكون موجودة في كل صف من الصفيف المستخدم كإدخال للمخطط. ال ActiveRecord count طريقة إرجاع التجزئة، والتي يتم تحويلها إلى مجموعة من struct التي تستجيب ل date و count أساليب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top