1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 5
    Points : 6
    Points
    6

    Par défaut PROC SGPLOT : affichage "xaxis values" par tranche

    Bonjour,

    Sous Excel j'ai le graphique suivant :
    Nom : graphexcel.PNG
Affichages : 39
Taille : 4,9 Ko

    J'aimerais le reproduire sous SAS, mais j'ai un problème avec les labels de l'axe x. Je n'arrive pas à afficher des valeurs par tranche pour l'axe X tout en affichant l'ensemble des données sur le graphique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    proc sgplot data=test;
       vbar indice / response=part1  ;
       vbar indice / response=part2 transparency=0.6;
       xaxis label="0-100" ;
       yaxis label="Part";
    run;
     
    proc sgplot data=test;
       vbar indice / response=part1  ;
       vbar indice / response=part2 transparency=0.6;
       xaxis label="0-100" values=(0 to 100 by 10) ;
       yaxis label="Part";
    run;
    Nom : graphsas.png
Affichages : 36
Taille : 44,0 Ko

    Est il possible de combiner les 2 ?

    Peut être en modifiant mes données ?
    Ma table est de la forme :
    indice part1 part2
    1 0.xx 0.xx
    2 0.xx 0.xx
    ...
    99 0.xx 0.xx
    100 0.xx 0.xx

    Cdt,

  2. #2
    Membre expert
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    avril 2008
    Messages
    1 789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2008
    Messages : 1 789
    Points : 3 955
    Points
    3 955

    Par défaut

    Bonjour.
    Avec l'instruction VBAR, l'axe des X est considéré comme qualitatif (TYPE=DISCRETE) et pas continu (TYPE=LINEAR). Donc l'option VALUES va énumérer les valeurs visibles sur le graphique, et masquer les autres.
    L'option FITPOLICY=THIN dans XAXIS fait disparaître une partie des graduations pour gagner de la place, mais rien ne dit que le résultat sera élégant, avec des graduations de 10 en 10.
    Par contre, en forçant TYPE=LINEAR, l'option VALUES te permettra de contrôler les graduations affichées sans perdre de données.
    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
    DATA work.dist ;
      DO x = 1 TO 30000 ;
        y1 = ABS(INT((RANNOR(1)*9+35))) ;
    	y2 = ABS(INT((RANNOR(2)*12+50))) ;
    	OUTPUT ;
      END ;
    RUN ;
    PROC FREQ DATA=work.dist ;
      TABLE y1 y2 / NOCUM ;
      ODS OUTPUT oneWayFreqs (MATCH_ALL=mv) = work.dist_y1 ;
    RUN ;
    DATA work.dist_y ;
      MERGE work.dist_y1 (RENAME=(Y1 = valeur percent = pct_y1))
            work.dist_y2 (RENAME=(Y2 = valeur percent = pct_y2)) ;
      BY valeur ;
      KEEP valeur pct: ;
      pct_y1 = COALESCE(pct_y1, 0) ;
      pct_y2 = COALESCE(pct_y2, 0) ;
    RUN ;
    PROC SGPLOT DATA=work.dist_y NOAUTOLEGEND ;
      VBAR valeur / RESPONSE=pct_y1 ;
      VBAR valeur / RESPONSE=pct_y2 TRANSPARENCY=0.6 ;
      XAXIS TYPE=LINEAR VALUES=(0 TO 100 BY 10) ;
    RUN ;
    Bon courage.
    Olivier

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2017
    Messages : 5
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par olivier.decourt Voir le message
    Par contre, en forçant TYPE=LINEAR, l'option VALUES te permettra de contrôler les graduations affichées sans perdre de données.
    Merci, c'est exactement ce qu'il me fallait.

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

Discussions similaires

  1. Fonctionnalité perdue avec la proc Export de 9.2: les quotes
    Par Laurinette57 dans le forum SAS Base
    Réponses: 8
    Dernier message: 30/03/2011, 15h06
  2. Affichage d'un XML chargé par SOAP
    Par glanumf dans le forum ASP
    Réponses: 3
    Dernier message: 12/04/2005, 11h27

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