Rappresentazione grafica di nuovi utenti in base alla data in un'applicazione Rails utilizzando Veggente

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

  •  19-09-2019
  •  | 
  •  

Domanda

mi piacerebbe implementare un grafico che mostra a rotazione nuovi utenti al giorno negli ultimi 7 giorni utilizzando Veggente.

Ho installato Veggente:

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

Sto lottando per ottenere il mio cervello in giro come implementare.

Ho un allineamento degli Utenti voglio tracciare:

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

Non riesco a vedere il modo giusto per attuare il:. Data_method a rotolare in su per data created_at

Chiunque fatto questo o simile con Veggente?

Chiunque intelligente di me in grado di spiegare questo dopo aver guardato la pagina di esempio Veggente (linkato sopra)?

È stato utile?

Soluzione

Io parto dal presupposto che si sta cercando di mostrare il nuovo numero di utenti di giorno, in ultimi 7 giorni. Se è così è possibile effettuare le seguenti

Controller cod

# 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

Visualizza codice

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

Il data_method dovrebbe essere presente in ogni riga della matrice utilizzata come ingresso per il grafico. Il metodo ActiveRecord count restituisce un hash, che viene convertito in un array di struct che risponde a date e metodi count.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top