Pregunta

Me gustaría implementar un gráfico continuo que muestre los nuevos usuarios por día durante los últimos 7 días usando Seer.

Tengo instalado Vidente:

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

Estoy luchando por entender cómo implementarlo.

Tengo una serie de usuarios que quiero trazar:

@usuarios = Usuario.todos( :condiciones => {:created_at => 7.días.ago..Zona.horaria.ahora})

No veo la forma correcta de implementar: data_method para acumularlos antes de la fecha de creación.

¿Alguien ha hecho esto o algo similar con Seer?

¿Alguien más inteligente que yo puede explicar esto después de mirar la página de muestra de Seer (vinculada arriba)?

¿Fue útil?

Solución

Estoy asumiendo que usted está tratando de mostrar el nuevo número de usuarios por día en los últimos 7 días. Si es así, puede hacer lo siguiente

código 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

Ver código

<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'
      }
    )
 -%>

El data_method debe estar presente en cada fila de la matriz utilizado como la entrada para el gráfico. El método ActiveRecord count devuelve un hash, que se convierte en una matriz de struct que responde a date y métodos count.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top