[RUBY] Créer un graphique simple avec Rails Utiliser gem-chartkick / groupdate

Je voulais implémenter la fonction graphique dans Rails, j'ai donc utilisé Chartkick. Puisqu'il y avait peu d'articles au milieu, j'ai décidé de l'afficher comme référence. Cette fois, gem groupdate est utilisé pour obtenir la date et l'heure de mise à jour. Les gemmes utilisées sont les suivantes.

Environnement de développement

Rails 5.2.4

Construire

① Installer la gemme

gem chartkick
gem groupdate

② Terminal

 bundle install

③ Lire la bibliothèque Javascript Ajout de ce qui suit à app / assets / javascripts / application.js.

application.js


//= require chartkick
//= require Chart.bundle

④ Décrit dans le contrôleur

top.rb


  def index
  	@users_count = User.group_by_day(:created_at).size
        #Sortie graphique du numéro d'enregistrement de l'utilisateur La description ci-dessus ne peut être utilisée que si la date du groupe gem est installée.
  	@user_today = User.where(created_at: Date.today.all_day).count
        #Nombre d'utilisateurs enregistrés par jour
  end

⑤ Décrit en vue

index.html.erb


	<div class="main">
		<label class="text-user">Nombre de membres inscrits par jour(Nombre total de membres: <%= @users.count %>)</label>
		<div class="graph">
		  <%= line_chart @users_count, download: true, colors: ['#FF4F02'] %>
	    </div>
	</div>

⑥ Écran réel (date d'enregistrement et nombre d'inscriptions) guraf.jpg

line_chart

colors: ['rgb']

À propos de la date du groupe de gemmes

--groupdate gère les données de date et d'heure en fonction d'un fuseau horaire donné. Après l'installation de groupdate, les méthodes suivantes sont disponibles. Référence https://github.com/ankane/groupdate

group_by_second (heure toutes les 2 minutes) group_by_minute (minutes) group_by_hour (heures) group_by_day (date) group_by_week (semaine) group_by_month (lundi) group_by_quarter (trimestre) group_by_year (année) group_by_hour_of_day (renvoie le jour et l'heure) group_by_day_of_week (renvoie la date de la semaine) group_by_day_of_month (tous les jours du mois) group_by_month_of_year

Référence (1) Utiliser le graphique à barres column_chart スクリーンショット 2020-07-16 18.13.32.png

Référence ③ Utiliser le graphique circulaire pie_chart スクリーンショット 2020-07-16 18.13.47.png

La partie group_by est ambiguë, mais si elle est incorrecte, veuillez le signaler. Le tableau de bord est également disponible sur le site officiel avec des images afin qu'il soit facile de comprendre comment l'utiliser, alors veuillez vous y référer.

Recommended Posts

Créer un graphique simple avec Rails Utiliser gem-chartkick / groupdate
Utilisez plusieurs bases de données avec Rails 6.0
[Docker] À utiliser à tout moment avec Docker + Rails
Utiliser Microsoft Graph avec Java standard
[Retrait des rails] Créez une fonction de retrait simple avec des rails
[Rails 6] Dessin graphique interactif avec Ajax + chart.js
[Rails] Utiliser jQuery