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

Bibliothèques & Frameworks Discussion :

Taille du canvas [Chart.js]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 70
    Points : 65
    Points
    65
    Par défaut Taille du canvas
    Bonjour,

    Je n'arrive tout simplement pas à régler la taille du canvas pour un élément graphique implémenté avec chart.js. J'ai déjà cherché plusieurs solutions :

    - définir la taille dans la balise HTML ]<canvas id="graph" width="50" height="50"></canvas>, définir dans le JS avec plusieurs lignes possible que j'ai trouvé ici graph.height = 100; graph.height(100);.

    Rien ne fonctionne, je ne comprends vraiment pas comment changer cette taille de canvas. Si l'un de vous a la solution miracle, parce que je désespère un peu là. merci d'avance !

    PS : Je vous mets aussi mon code en simplifié pour que vous puissiez observer :

    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
    ]
    <!DOCTYPE html>
      <html>
        <head>
          <title>Test</title>
          <!-- Fichier JQuery -->
          <script src="../../../js/JQuery/jquery-3.6.0.min.js"></script>
          <!-- Lien chart.js -->
          <script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.4/dist/Chart.min.js"></script>
     
        </head>
     
        <body>
     
          <div id='data 1' class='data'>145</div>
          <div id='data 2' class='data'>45</div>
          <div id='data 3' class='data'>144</div>
          <div id='data 4' class='data'>12</div>
          <div id='data 5' class='data'>436</div>
          <div id='data 6' class='data'>43</div>
     
          <canvas id="graph" width="50" height="50"></canvas>
        </body>
     
      <script src="js/stat.js"></script>
     
    </html>

    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
    48
    49
    50
    51
    // graphique
    var graph = document.getElementById('graph').getContext('2d');
     
    graph.height = 100;
    graph.height(100);
     
    // définition des data
    var listData = document.getElementsByClassName("data");
    var data = [];
    var legend = [];
    for (let count = 0; count < listData.length; count++) {
        data.push(listData[count].innerHTML);
        legend.push(listData[count].id);
    }
     
    // paramétrage du graphe
    var graph = new Chart(graph, {
        type: 'bar',
        data: {
            labels: legend,
            datasets: [{
                label: 'nombre d\'élements avec ce code symbologique',
                data: data,
                backgroundColor: [
                    'rgba(255, 99, 132, 0.2)',
                    'rgba(54, 162, 235, 0.2)',
                    'rgba(255, 206, 86, 0.2)',
                    'rgba(75, 192, 192, 0.2)',
                    'rgba(153, 102, 255, 0.2)',
                    'rgba(255, 159, 64, 0.2)'
                ],
                borderColor: [
                    'rgba(255, 99, 132, 1)',
                    'rgba(54, 162, 235, 1)',
                    'rgba(255, 206, 86, 1)',
                    'rgba(75, 192, 192, 1)',
                    'rgba(153, 102, 255, 1)',
                    'rgba(255, 159, 64, 1)'
                ],
                borderWidth: 1
            }]
        },
        options: {
            maintainAspectRatio: false,
            scales: {
                y: {
                    beginAtZero: true
                }
            }
        }
    });

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    chart.js est une bibliothèque vraiment très intéressant quand on arrive a passer cette 1re étape de la définition de la taille.
    voilà ce que je fais d'habitude :
    • d'abord je fixe les proportions dans la balise "canva" comme cela : <canvas id="c1" width="400" height="200"></canvas>. là par exemple la zone sera 2 fois plus large que haute donc ça donnerai le même résultat avec "width=24 height=12".
    • ensuite je l'entoure avec une balise "div" dont je définis la taille en css.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 70
    Points : 65
    Points
    65
    Par défaut
    Ok, merci Mathieu pour ta réponse. J'ai pu régler mon soucis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. <canvas> taille du canvas et précision du trait
    Par Speed41 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/11/2018, 19h21
  2. Modifier la taille du canvas
    Par pitchu dans le forum Angular
    Réponses: 4
    Dernier message: 02/11/2018, 13h19
  3. [D6] Comment modifier la taille du Canvas d'un TImage ?
    Par Lung dans le forum Composants VCL
    Réponses: 8
    Dernier message: 02/01/2015, 14h53
  4. [ckeditor] Taille du canva
    Par bkadoum dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 01/06/2010, 15h00
  5. [Java2D] Problème de taille du canvas
    Par vero55 dans le forum 2D
    Réponses: 2
    Dernier message: 16/04/2007, 09h44

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