gpt4 book ai didi

ruby-on-rails - 使用 Seer 在 Rails 应用程序中按日期绘制新用户图

转载 作者:行者123 更新时间:2023-12-03 15:22:09 26 4
gpt4 key购买 nike

我想使用 Seer 实现一个滚动图表,显示过去 7 天内每天的新用户。

我已经安装了 Seer:

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

我正在努力思考如何实现。

我有一组要绘制的用户:

@users = User.all( :conditions => {:created_at => 7.days.ago..Time.zone.now})

看不到实现 :data_method 以在 created_at 日期之前汇总它们的正确方法。

有人用 Seer 做过这个或类似的事吗?

在查看了 Seer 示例页面(上面的链接)后,谁能比我更聪明?

最佳答案

我假设您正在尝试按天显示过去 7 天内的新用户数。如果是这样,您可以执行以下操作

Controller 代码

# 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 方法返回一个散列,该散列被转换为响应datecountstruct 数组方法。

关于ruby-on-rails - 使用 Seer 在 Rails 应用程序中按日期绘制新用户图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com