2010-10-22 7 views
2

J'ai un modèle, ContactEmail qui a un attribut date_sent et un email_id, référençant un autre modèle Email.Comment puis-je créer un tableau de séries temporelles pour pouvoir avoir un graphique à barres dans Ruby on Rails?

Je voudrais créer un graphique à barres qui montre sur les dates de l'axe x et sur l'axe y le nombre de ContactEmails qui ont été envoyés à une date spécifique.

Je voudrais également faire la même chose, filtré pour ContactEmails où email_id est égal à une valeur spécifique. Mon objectif final est d'avoir une sorte de graphique à barres - je suis toujours en train de faire des recherches, mais quoi qu'il en soit, il me semble que j'aurais besoin d'une sorte de série chronologique, ce que j'imagine avoir la date comme un élément, et le compte pour l'autre.

Comment faire?

La solution graphique que je suis à la recherche est appelé Seer:

http://github.com/Bantik/seer

J'utilise le joyau de la statistique, qui est délivrer en sortie un hachage qui ressemble à ceci:

=> #<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) Comment puis-je mettre cela dans un ordre? 2) Est-ce que Seer reconnaît les valeurs de date nulles?

Répondre

1

je la pierre précieuse statistique

1

Salut Vous pouvez essayer de faire quelques Hash

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

vous obtiendrez quelque chose comme

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