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

jQuery Discussion :

flot, changer l'axe Y [Plugin]


Sujet :

jQuery

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 115
    Par défaut flot, changer l'axe Y
    Bonjour,
    Je cherche à adapter l'axe Y d'un graphique utilisant la bibliothèque flot (vraiment super) en fonction de la sélection. J'ai essayé de modifier l'exemple http://people.iola.dk/olau/flot/examples/selection.html, en suivant les indications de flot.selection.js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setSelection({ xaxis: { from: 0, to: 10 }, yaxis: { from: 40, to: 60 }
    donc j'ai modifié la fonction lors du clic sur le bouton "select year 1994" (le bouton zoom étant sélectionné) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("#setSelection").click(function () {
            plot.setSelection({ xaxis: { from: 1994, to: 1995 }, yaxis: { from: 5, to: 20 } });
        });
    mais cela ne marche pas, l'axe Y n'est pas modifié
    Autre essai infructueux, utiliser setupGrid(); :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("#setSelection").click(function () {
            plot.setSelection({ xaxis: { from: 1994, to: 1995 }, yaxis: { from: 5, to: 20 } });
            plot.setupGrid();
            plot.draw();
        });
    Où sont mes erreurs ? Quelqu'un a-t-il une idée ?
    Merci d'avance

  2. #2
    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 : 74
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Je ne connais pas bien ce plugin, mais deux remarques par rapport au code de la démonstration.

    Je crois qu'il ne faut modifier qu'un axe à la fois et qu'il faut dire lequel dans l'option "selection".

    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
        var options = {
            series: {
                lines: { show: true },
                points: { show: true }
            },
            legend: { noColumns: 2 },
            xaxis: { tickDecimals: 0 },
            yaxis: { min: 0 },
            selection: { mode: "x" }
        };
    
    
        $("#setSelection").click(function () {
            plot.setSelection({ xaxis: { from: 1994, to: 1995 } });
        });
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 115
    Par défaut
    Merci, ta réponse m'a mis sur la bonne voie, il faut :
    - choisir le mode "xy" dans selection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var options = {
            series: {
                lines: { show: true },
                points: { show: true }
            },
            legend: { noColumns: 2 },
            xaxis: { tickDecimals: 0 },
            yaxis: { tickDecimals: 0 },
            selection: { mode: "xy" }
        };
    - définir le graphique avec sur l'axe y le minimum et le maximum choisi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    plot = $.plot(placeholder, data,
                              $.extend(true, {}, options, {
                                  xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to },
                                  yaxis: { min: ranges.yaxis.from, max: ranges.yaxis.to}
                              }));
    - et, s'il s'agit d'une sélection à partir du bouton, préciser le maximum et le minimum de l'axe Y :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("#setSelection").click(function () {
            plot.setSelection({ xaxis: { from: 1994, to: 1995 }, yaxis: { from: 5, to: 20 } });
            plot.setupGrid();
            plot.draw();
        });
    Il est donc possible de modifier (et zoomer) sur les 2 axes.

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

Discussions similaires

  1. changer les axes en 3D
    Par kizaa dans le forum MATLAB
    Réponses: 10
    Dernier message: 30/09/2011, 13h58
  2. Changer l'axe de vue
    Par Décembre dans le forum Traitement d'images
    Réponses: 8
    Dernier message: 06/08/2010, 06h56
  3. Changer les axes d'un graphiques polaire
    Par planles1905 dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 09/06/2010, 15h19
  4. [stem] Changer l'axe de référence
    Par Luigicube dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 22/05/2008, 17h38
  5. [TChart] Changer l'axe d'un chart.
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 7
    Dernier message: 30/03/2007, 14h19

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