Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)

Je commence juste à apprendre la programmation, donc c'est peut-être un mauvais article, mais j'aimerais écrire un tel article comme un mémorandum et une pratique pour moi-même. J'ai hâte de travailler avec vous.

Qu'est-ce que Lazy High Chart?

En termes simples, c'est un joyau qui affiche un graphique. Cela ressemble à une gemme qui permet d'utiliser une bibliothèque de graphes JavaScript appelée HighCharts en Ruby. Je vais l'écrire tôt, mais je ne sais pas comment changer la méthode d'affichage du graphique lui-même, donc cette fois je n'écrirai que l'implémentation.

Introduction de Gem

gem 'lazy_high_charts'

Tout d'abord, écrivez ceci dans le Gemfile et l'installation du bundle

En plus de cela dans application.js

//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock

Ajoutons. Vous êtes maintenant prêt.

Afficher le graphique dans View

La première est la description du côté Vue.

<%= high_chart('my-first-chart', @chart) %>

Le graphique sera dessiné là où vous avez fait cette description.

Paramètres côté contrôleur

Ici, je décide du type de graphe (histogramme, graphe circulaire, graphe linéaire, etc.), mais comme je l'ai mentionné plus tôt, je ne connais pas encore les détails, donc j'écrirai la description que j'ai mise en œuvre pour le moment.

  def create
    @post = Post.new(post_params)

    if @post.save
-----------------------------------------------------#Description de l'affichage du graphique
    @chart = LazyHighCharts::HighChart.new('graph') do |f|
      f.title(text: @post.select.name)
      f.xAxis(categories: ["Soldier", "Wizard", "Monk", "Fighter", "Gunner"])
      f.series(name: "", yAxis: 1, data: [@post.vs_soldier_id,@post.vs_wizard_id,@post.vs_monk_id,@post.vs_fighter_id,@post.vs_gunner_id])
      f.yAxis [
        {title: {text: "", margin: 0} },
        {title: {text: ""}, opposite: true},
      ]
      f.legend(align: 'none')
      f.chart({defaultSeriesType: "column"})
    end
-------------------------------------------------------------------------

    else
      render "new"
    end
  end

Il s'agit d'une description lorsque la valeur acquise par le paramètre fort de la nouvelle action est affichée par l'action de création.

Cette fois, un graphique à barres s'affiche. f.yAxis f.legend f.series Je ne suis pas sûr de ces trois car je n'en avais pas besoin dans cette implémentation (désolé)

f.title Telle qu'elle est écrite, la valeur que vous entrez ici sera le titre du graphique.

f.xAxis La valeur sur l'axe horizontal du graphique. Cette fois, c'était décidé ici, alors j'y ai mis une chaîne de caractères.

Et dans f.series data: [] Je vais mettre les données ici. (J'ai fait beaucoup de variables pour mettre des valeurs ici, mais c'était difficile pour les débutants ...)

f.chart({defaultSeriesType: "column"}) Il semble que la "colonne" ici soit le type de graphique.

c'est tout.

Il y a encore beaucoup de choses que je ne comprends pas, c'est donc un article compliqué, mais j'aimerais faire de mon mieux pour écrire de bonnes choses petit à petit. Puis ~

Recommended Posts

Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)
[Ruby on Rails] Comment écrire enum en japonais
[Ruby On Rails] Comment réinitialiser DB dans Heroku
Comment utiliser Ruby on Rails
Appliquer le CSS à une vue spécifique dans Ruby on Rails
Comment insérer une vidéo dans Rails
[Ruby on Rails] Comment utiliser redirect_to
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Comment afficher une page Web en Java
Comment implémenter une fonctionnalité similaire dans Rails
Comment créer facilement un pull-down avec des rails
(Ruby on Rails6) Création de données dans une table
Passer de SQLite3 à PostgreSQL dans un nouveau projet Ruby on Rails
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Comment déboguer le traitement dans le modèle Ruby on Rails avec juste la console
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
Comment régler l'heure d'affichage sur l'heure japonaise dans les rails
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
[Ruby on Rails] Comment changer le nom de la colonne
Comment lancer une autre commande dans un programme Ruby
Comment afficher un aperçu du navigateur avec VS Code
Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)
[Comment insérer une vidéo dans un hameau avec Rails]
Comment écrire une recherche de comparaison de dates dans Rails
[Rails 6] Comment définir une image d'arrière-plan dans Rails [CSS]
[Rails] Comment charger JavaScript dans une vue spécifique
(Ruby on Rails6) Comment créer un modèle et une table
[Rails] Comment afficher les images dans la vue
Comment résoudre les erreurs qui se produisent lors du test d'intégration "Ruby on Rails"
Difficultés à créer un environnement Ruby on Rails (Windows 10) (SQLite3)
[rails] Comment afficher les informations de base de données
Comment itérer indéfiniment en Ruby
[Ruby on Rails] Afficher rapidement le titre de la page dans le navigateur
Comment déployer Bootstrap sur Rails
Ruby on Rails compatible japonais-anglais i18n
Comment installer Bootstrap dans Ruby
Comment installer jQuery dans Rails 6
Comment déployer l'application Rails sur AWS (résumé de l'article)
[Rails] Comment afficher les informations stockées dans la base de données dans la vue
Comment installer Swiper in Rails
Je souhaite ajouter une fonction de navigation avec ruby on rails
[rails] Comment afficher les informations parent dans la vue enfant dans des relations imbriquées
Comment faire fonctionner automatiquement un écran créé en Java sous Windows
(Ruby on Rails6) Créer une base de données et l'afficher dans une vue