IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Afficher un graphique dans un panel


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut Afficher un graphique dans un panel
    Bonjour,

    Je suis super débutant en JS, et je ne parviens pas à résoudre mon problème pourtant simple !
    Je souhaite utiliser l'API de Google Charts pour réaliser un graphique.
    Comme tout bon novice, j'ai commencé par coller le code de Google Charts dans une nouvelle page de mon projet, ce qui fonctionne évidemment très bien :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
      <html>
      <head>
        <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
        <script type="text/javascript">
          google.charts.load('current', {'packages':['corechart']});
          google.charts.setOnLoadCallback(drawChart);
     
          function drawChart() {
            var data = google.visualization.arrayToDataTable([
              ['Year', 'Sales', 'Expenses'],
              ['2004',  1000,      400],
              ['2005',  1170,      460],
              ['2006',  660,       1120],
              ['2007',  1030,      540]
            ]);
     
            var options = {
              title: 'Company Performance',
              curveType: 'function',
              legend: { position: 'bottom' }
            };
     
            var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
     
            chart.draw(data, options);
          }
        </script>
      </head>
      <body>
        <div id="curve_chart" style="width: 900px; height: 500px"></div>
      </body>
    </html>

    Mon problème est que je n'arrive pas (en fait que je ne sais pas!) comment afficher ce graphique dans une page existante et dans un h:panelgroup par exemple, par un clic sur un bouton ce qui serait l'idéal.

    Pouvez-vous m'aider SVP ?
    MERCI

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 058
    Points : 44 588
    Points
    44 588
    Par défaut
    Bonjour,
    <mode-out>
    Je suis super débutant en JS, et je ne parviens pas à résoudre mon problème pourtant simple !
    et tu comptes le rester combien de temps
    </mode-out>

    • Commence par supprimer/mettre en commentaire la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    google.charts.setOnLoadCallback(drawChart);
    qui crée ton graphe au chargement de la page.

    • Crée un bouton qui lance la fonction drawChart() au clic
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <button onclick="drawChart()">...</button>

    • Il te faut également lire la documentation et ne pas se contenter de copier les exemples, c'est comme pour PrimeFaces

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    J'ai lu la doc Google Charts et parcouru plusieurs tuto JS avant de me lancer dans cette aventure.

    J'ai déjà essayé de mettre en commentaire la ligne 'setOnLoadCallback' et ajouter un bouton avec 'onclick=drawChart()'
    mais au clic sur le bouton, la page flashe et rien ne s'affiche!

    Non je ne compte pas rester novice trop longtemps, mais pour cela j'aurai bien besoin d'un bon tuto JS...

    Merci pour ta réponse.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 058
    Points : 44 588
    Points
    44 588
    Par défaut
    ... la page flashe et rien ne s'affiche!

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    Vous rechargez la page ? Il y a un formulaire dans la page ?

    Il nous faudrait vos codes (CSS, HTML, JS) au complet pour y comprendre quelque chose.

    Exemple :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="curve_chart" style="width: 900px; height: 500px"></div>
     
    <button id="btnAfficher">Afficher</button>

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    window.addEventListener('load', ev => {
        // le DOM est construit et la page web est visible
     
        // début code du test
     
        google.charts.load('current', {
            'packages': ['corechart']
        });
     
        // google.charts.setOnLoadCallback(drawChart);
     
        function drawChart() {
            var data = google.visualization.arrayToDataTable([
                ['Year', 'Sales', 'Expenses'],
                ['2004', 1000, 400],
                ['2005', 1170, 460],
                ['2006', 660, 1120],
                ['2007', 1030, 540]
            ]);
     
            var options = {
                title: 'Company Performance',
                curveType: 'function',
                legend: {
                    position: 'bottom'
                }
            };
     
            var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
     
            chart.draw(data, options);
        }
     
        document.querySelector('#btnAfficher').addEventListener('click', ev => {
            drawChart();
        }, {
            capture: false,
            passive: true,
            once: false
        });
     
        // fin code du test
    }, {
        capture: false,
        passive: true,
        once: false
    });

Discussions similaires

  1. [c# ou VB.net] afficher une Form dans un Panel
    Par octal dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/03/2013, 16h43
  2. afficher une fenetre dans un panel
    Par adgabd dans le forum Delphi
    Réponses: 9
    Dernier message: 12/07/2006, 13h35
  3. [Tkinter] afficher un graphique dans un canevas
    Par Makino dans le forum Tkinter
    Réponses: 2
    Dernier message: 09/03/2006, 13h37
  4. [VB.NET]Afficher plusieurs UserControls dans un Panel
    Par Golzinne dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/02/2006, 21h29
  5. afficher un graphique dans word à partir de mon code vba
    Par guysocode dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/11/2005, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo