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

Android Discussion :

[Androidplot] Faire en sorte que le graphe n'ait aucune bordures


Sujet :

Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [Androidplot] Faire en sorte que le graphe n'ait aucune bordures
    Bonjour,

    Je suis en train de développer une application dans laquelle j'ai besoin de tracer un graphe dynamique (du style XY). Pour cela j'ai utilisé la librairie androidPlot puisqu'elle me paraissait plutôt simple à utiliser et de bonne qualité (je suis d'ailleurs étonné qu'il n'y ait pas de librairie android pour les graphes...). Bref, j'arrive très bien à tracer mon graphe et l'animation se fait correctement mais je cherche maintenant à enlever toute bordure et fond au graphe, pour ne garder au final qu'un tracé simple de la courbe.
    J'ai cherché sur plusieurs forums mais aucune solution ne me convient, il reste en permanence un espace à gauche et en bas (là où il y a une légende que je voudrais supprimer aussi )

    Quelqu'un aurait-il une idée pour m'aider ? (j'ai vu plusieurs messages non résolus sur andoidPlot... je tente le coup quand même )

    Voici l'initialisation de mon graphe :

    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
    private void initializePlot(){
            Plot.setOnTouchListener(this);
            Plot.setBackgroundPaint(null);
            Plot.setPlotMargins(0, 0, 0, 0);
            Plot.setPlotPadding(0, 0, 0, 0);
     
            Plot.setDomainLabelWidget(null);
            Plot.setRangeLabelWidget(null);
     
     
            Plot.getGraphWidget().setBackgroundPaint(null);
            Plot.getGraphWidget().setGridBackgroundPaint(null);
            Plot.getGraphWidget().setDomainLabelPaint(null);
            Plot.getGraphWidget().setRangeLabelPaint(null);
            Plot.getGraphWidget().setDomainOriginLabelPaint(null);
            Plot.getGraphWidget().setDomainOriginLinePaint(null);
            Plot.getGraphWidget().setRangeOriginLinePaint(null);
            Plot.getGraphWidget().setMargins(0, 0, 0, 0);
     
            Plot.getGraphWidget().setSize(new SizeMetrics(
                    0, SizeLayoutType.FILL,
                    0, SizeLayoutType.FILL
            ));
     
     
            Plot.addSeries(HistorySeries, new LineAndPointFormatter(Color.rgb(250, 75, 42), null, null, null));
        }
    le fichier XML associé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <com.androidplot.xy.XYPlot
            title="Jaw Activity"
            android:id="@+id/jawPlot"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:clickable="false"
            android:layout_weight="1" />
    et un screenshot du résultat obtenu :

    Nom : graph.png
Affichages : 134
Taille : 56,6 Ko

    j'ai volontairement coupé le bas de la page qui n'est pas intéressant ici, mais on voit bien que le graphe (matérialisé par la courbe et la grille) ne va pas jusqu'aux bords gauche et bas de la vue...

    Merci à qui répondra !

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé la solution ! (après y avoir passé la matinée sans succès il ne manquait plus que 10min de recherche semblait-il...)

    Il suffit de mettre la largeur des widgets qu'on ne veut pas afficher à zéro, avec les lignes de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    jawPlot.getGraphWidget().setDomainLabelWidth(0);
    jawPlot.getGraphWidget().setRangeLabelWidth(0);
    jawPlot.getLegendWidget().setWidth(0);
    Il ne faut pas oublier de mettre cette ligne aussi sinon le graph ne va pas jusqu'aux bords :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    jawPlot.getGraphWidget().setSize(new SizeMetrics(
            0, SizeLayoutType.FILL,
            0, SizeLayoutType.FILL
    ));
    Pour information, plusieurs sujets ont déjà été traités par le créateur d'androidPlot sur StackOverFlow ici :
    http://stackoverflow.com/users/556613/nick

    J'espère que ça pourra aider quelqu'un au moins !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/10/2008, 16h23
  2. [Débutant] Faire en sorte que le nom commence par majuscule
    Par Monkey_D.Luffy dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 29/05/2008, 16h51
  3. Comment faire en sorte que le prog se fasse répéter
    Par LeonHONORE dans le forum Pascal
    Réponses: 3
    Dernier message: 20/04/2008, 21h41
  4. Réponses: 3
    Dernier message: 17/05/2007, 19h30
  5. Réponses: 4
    Dernier message: 02/09/2006, 19h41

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