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 :

Modifier l'affichage de la légende [HighCharts]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut Modifier l'affichage de la légende
    Bonjour
    J'ai une petit problème avec highcharts qui permet d'afficher des graphiques qui est d'ordre d'affichage.
    Pour faire simple j'affiche un donut ou chaque morceau est une semaine et ça valeur est en seconde pour faire des calculs facilement, mais quand on regarde la valeur on a donc le résultat en seconde et j'aurais bien aimer qu'a l'affichage je puisse l'afficher en heure minutes et seconde, c'est possible ? En gros j'aimerais personnaliser la legende pour chaque éléments
    Merci

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 717
    Par défaut
    regardez les exemples de cette discussion :
    https://www.developpez.net/forums/d1...dates-tooltip/

    si cela ne suffit pas, montrez nous un exemple de code qui ne fonctionne pas comme vous voulez

  3. #3
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut
    Ca m'aide pas.
    En gros, il me faudrait deux valeurs, celle a mettre comme données(les secondes) et celle a afficher: 6 heures 20 minutes... J'ai rien trouvé pour faire cela

  4. #4
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    779
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 779
    Par défaut
    jour

    et en le faisant en amont ?

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 262
    Par défaut
    Bonjour,
    Citation Envoyé par Lprofessionnelle
    ... J'ai rien trouvé pour faire cela
    as tu regardé du coté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dataLabels: {
        formatter: function () {
        }
    }

  6. #6
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut
    J'avais pas vu ça fonctionne comment ?

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 262
    Par défaut
    Comme c'est indiqué dans la documentation

    Pour le fun un rapide exemple qui me traine remodelé et utilisant la méthode Highcharts.dateFormat pour laquelle il faut passer des temps en milliseconde.
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>[HighChart]Formatter tooltip</title>
    <meta name="Author" content="NoSmoking">
    <script src="https://code.highcharts.com/highcharts.js"></script>
    </head>
    <body>
    <div id="container" style="width: 600px; height: 600px; margin: 0 auto"></div>
    <script>
    Highcharts.chart('container', {
      chart: {
        type: 'pie'
      },
      title: {
        text: 'Titre du graphique'
      },
      tooltip: {
        formatter: function() {
          return '<div><b>' + this.point.name + '</b><br>' + Highcharts.dateFormat('%H:%M:%S', this.y * 1000) +'</div>'; // en milliseconde
        }
      },
      series: [{
        name: 'Semaine',
        data: [
          ['Lundi', 8.25 * 3600],
          ['Mardi', 4 * 3600],
          ['Mercredi', 5.5 * 3600],
          ['Jeudi', 2.75 * 3600],
          ['Vendredi', 6.15 * 3600],
          ['Samedi', 1 * 3600],
          ['Dimanche', 1 * 3600]
        ],
        dataLabels: {
          formatter: function() {
            return '[ ' + this.point.name + ' ]';
          },
          distance: 30
        }
      }]
    });
    </script>
    </body>
    </head>

  8. #8
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut
    Ce que j'aimerais faire c'est affiché le mois Janvier en gras comme sur l'image, mais de rajouter aussi l'année dans l'infobule par exemple... et personnalisé aussi la seconde ligne pour chaque éléments chose que je n'arrive pas. Ce que je veux en gros c'est afficher plus d'info pour chaque éléments dans les infobulles sans polluer la légende a l'extérieur du graphique.

    Nom : g.jpg
Affichages : 959
Taille : 19,1 Ko

  9. #9
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 262
    Par défaut
    Tu as toutes les billes pour faire ce que tu veux dans la tooltip
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      tooltip: {
        formatter: function() {
          return '<div><b>' + this.point.name + '</b><br>' + Highcharts.dateFormat('%H:%M:%S', this.y * 1000) +'</div>'; // en milliseconde
        }

  10. #10
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut
    mais dans ce qu'a comment je fais pour passer des truck en paramètre a la fonction du tooltip pour personnaliser ?
    car moi j'aimerais pouvoir personnaliser le texte sur la ligne avant le résultat pour qu'il soit différend a chaque fois.
    Il faudrait donc que je rajoute une ligne au tableau si c'est possible dans le tableau data qui contient les données et que j'y passe en paramètre ? Mais je ne sais pas comment la récup.

    EDIT: j'ai réussi comme ça:
    Code : 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
    52
    53
    54
    55
    <script type="text/javascript">
    $(function () {
        Highcharts.chart('donut3', {
            chart: {
                type: 'pie',
                options3d: {
                    enabled: true,
                    alpha: 30
                }
            },
            title: {
                text: 'Temps passé  par mois sur l\'année <?=$annee;?>'
            },
            subtitle: {
                text: 'Source: moi'
            },
            plotOptions: {
                pie: {
                    innerSize: 100,
                    depth: 30
                }
            },
      tooltip: {
        formatter: function() {
    		console.log(this);
          return '<div><b>' + this.point.name + '</b><br>=>' + this.point.test + Highcharts.dateFormat('%H:%M:%S', this.y * 1000) +'</div>'; // en milliseconde
        }
      },
    		series: [{
                name: 'Temps passé par mois',
                colorByPoint: true,
                data: [
    <?php
                            foreach($graphique_array['duree_sec']['mois'] as $key => $value)
                            {
    ?>
    			{
                    name: '<?=DateMois($key);?>',
                    y: <?=($value);?>,
                    "test": 'test <?=$key;?>'
                },
    <?php
                            }
    ?>],
        dataLabels: {
          formatter: function() {
    		console.log(this);
            return '[' + this.point.name + ']';
          },
          distance: 30
        }
            }]
        });
    });
    </script>
    C'est exactement ce que je voulais, j'espère que ça aidera des gens.

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

Discussions similaires

  1. Modifier l' affichage des légendes
    Par Gildas86 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 01/02/2012, 15h24
  2. Modifier l'affichage d'un sous-formulaire
    Par Mimi-des-îles dans le forum Access
    Réponses: 2
    Dernier message: 23/02/2006, 22h03
  3. [VB6] Comment modifier l'affichage au sein d'un Webbrowser
    Par jlvalentin dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/12/2005, 14h06
  4. Modifier l'affichage d'une requête
    Par seal dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 14h26
  5. Comment modifier l'affichage des objets cachés de Windows ?
    Par maximdus dans le forum API, COM et SDKs
    Réponses: 23
    Dernier message: 23/07/2005, 11h45

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