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 :

Gestion des dates sur axe X


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 366
    Par défaut Gestion des dates sur axe X
    Bonjour à tous,

    (précision importante préliminaire : je ne suis pas développeur et il me manque des fondamentaux de la programmation )


    Je tente de faire un graphique avec Chart.js, dont l'axe X est temporel, et je suis pas loin de parvenir à mes fins avec ce JsFiddle : http://jsfiddle.net/dajfbbL2/
    Mais j'ai encore 2 problèmes à résoudre :
    - je ne comprends pas pourquoi les données qui devraient s'afficher à l’abscisse "2000" et "2010" sont décalées par rapport à l'axe ?
    - j'aimerais, si possible, n'afficher sur l'axe X que les années correspondant aux données (1945, 2000 et 2010).

    Auriez-vous des conseils pour avancer sur ces points ?

    Merci à vous

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 366
    Par défaut
    je ne comprends pas pourquoi les données qui devraient s'afficher à l’abscisse "2000" et "2010" sont décalées par rapport à l'axe ?
    Bon, sans comprendre vraiment la cause, j'ai trouvé comment résoudre le problème de décalage : j'avais fixé le max de l'axe X sur la date actuelle (2017). Mais l'axe étant gradué tous les 20 ans (unit: 'year', unitStepSize: 20), ça ne tombait pas juste. En mettant 2020, ça s'aligne correctement.

    Maintenant, comme je le disais, j'aimerais n'afficher sur l'axe que les dates où il y a des données (1945, 2000 et 2010). Pensez-vous que cela soit possible ?

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 699
    Par défaut
    Les valeurs affichées sur l'axe sont liées à la grille donc ça sera surement compliqué d'afficher seulement les années avec des valeurs.

    Par contre, il est possible d'afficher toutes les légendes des points.
    J'ai rajouté un code que j'ai trouvé pour modifier votre exemple là :
    http://jsfiddle.net/dajfbbL2/5/
    Ce n'est pas très joli puisqu'il y a beaucoup de textes mais c'est un début de piste à explorer.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 366
    Par défaut
    Merci Mathieu pour ta réponse.
    Effectivement, j'avais aussi pensé aux Tooltips pour afficher ces dates. Il doit certainement y avoir moyen de les épurer pour le contenu (n'afficher que l'année plutôt que "Mon Jan 01 1945 00:00:00 GMT+0100".
    Ça marche avec (tooltipItems.xLabel).getFullYear() par exemple, mais je ne sais comment l'appliquer au "titre du tooltip" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        tooltips: {mode: 'label',
                    callbacks: {
                        label: function(tooltipItems, data) { 
                            return tooltipItems.yLabel + ' m/ha en ' + (tooltipItems.xLabel).getFullYear() ;
                        }
                    }},

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 699
    Par défaut
    Il y a plusieurs éléments qui peuvent être personnalisés dont le titre :
    http://www.chartjs.org/docs/latest/c...ltip-callbacks

    Ça donne ça pour le moment :
    http://jsfiddle.net/dajfbbL2/17/
    Il y a encore à résoudre le soucis des 2 éléments qui se superpose mais là je n'ai pas d'idées pour ça.

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 213
    Par défaut
    Bonjour,
    pourquoi ne pas laisser les « toolTips » s'afficher simplement au survol ce qui le comportement habituel ?

Discussions similaires

  1. [JpGraph] l'affichage des dates sur l'axe des x sur jpgraph
    Par essabri dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 13/10/2016, 02h45
  2. [XL-2010] Graphique de TCD : Gestion des Heures sur axe des abscisses
    Par Viper7 dans le forum Excel
    Réponses: 5
    Dernier message: 11/12/2013, 18h53
  3. Petite erreur dans un cours sur la gestion des dates
    Par Alexandre T dans le forum Langage SQL
    Réponses: 0
    Dernier message: 05/02/2012, 15h39
  4. Réponses: 6
    Dernier message: 06/11/2009, 16h59
  5. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01

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