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

SAS Base Discussion :

Tracer un graphe radar (certaines options clés me manquent)


Sujet :

SAS Base

  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut Tracer un graphe radar (certaines options clés me manquent)
    Bonjour, je voudrais tracer un radar:

    voilà l'adresse du radar à améliorer =premier graphe:
    "http://www.imagup.com/pics/1274925899.html"

    Voilà à quoi je veux arriver=2ème graphe "http://www.imagup.com/pics/1274926246.html"

    C-à-d, il y a 3 choses que je devrais ajouter sur "radar à améliorer":le premier graphe

    1-il me faudra changer les libellés "TDP_1_Mean par "Présence d'un document relatif à l'admission", TDP_2_Mean par "Contenu de l'examen médical d'entrée noté", TDP_3_Mean par "Prescriptions médicamenteuses établies pendant l'hospitalisation conformes", TDP_4_Mean par "Présence d'un (ou des) compte(s) rendu(s) opératoire(s), etc etc etc etc.....

    2-Il faut graduer les axes (ici 10 axes) de 0 à 100

    3-Il faut mettre la moyenne de chaque variable (ici 10 variables) à côté de chaque point d'interruption entre deux côtés du polygone "le polygone est la forme de la surface verte entourée par la ligne bleue en gras, cf. le premier graphe" (mais vraiment à côté comme c'est indiqué sur le 2ème graphe)


    Pour tracer le premier graphe, voilà le code que j'ai mis à SAS:


    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
    /*j'ai essayé desespérément de graduer les 10 axes, un axe=une variable, mais ça n'a rien donné niveau graduation des axes*/
    axis1 order = (0 to 100 by 20);
    axis2 order = (0 to 100 by 20);
    axis3 order = (0 to 100 by 20);
    axis4 order = (0 to 100 by 20);
    axis5 order = (0 to 100 by 20);
    axis6 order = (0 to 100 by 20);
    axis7 order = (0 to 100 by 20);
    axis8 order = (0 to 100 by 20);
    axis9 order = (0 to 100 by 20);
    axis10 order = (0 to 100 by 20);
     
     
    goptions reset=all device=activex ftext=swissb ;
    title1 j=c h=13pt 'Indicateur du dossier patient';
    title2 j=c h=10pt 'Année 2009';
     
    /*J'ai remis les axes ici, toujours dans une optique d'essai*/
    axis1  value=(h=1 c=cx00cc00);
    axis2 value=(h=2 c=cx00cc00) ;
    axis3 value=(h=3 c=cx00cc00) ;
    axis4 value=(h=4 c=cx00cc00) ;
    axis5 value=(h=5 c=cx00cc00) ;
    axis6 value=(h=6 c=cx00cc00) ;
    axis7 value=(h=7 c=cx00cc00) ;
    axis8 value=(h=8 c=cx00cc00) ;
    axis9 value=(h=9 c=cx00cc00) ;
    axis10 value=(h=10 c=cx00cc00);
     
     
    /*la proc GRADAR pour tracer le radar avec certaines options*/
    PROC GRADAR DATA =sasuser.concatener_pour_radar; 
    note height=4 color=red 'Red Tide'
         color=blue ' Effects on Coastal Fishing';
          CHART Calculation
     /  FREQ=Colonne1
          staraxis=(axis1 axis2 axis3 axis4 axis5 axis6 axis7 axis8 axis9 axis10) /*permet de mettre une forme par axe staraxis=(axis1, axis1, axe3 etc jusqua 13 dans notre cas)*/
     
          starfill=(solid) /* colori l'intérieur autre option empty*/
          STARTYPE=WEDGE /* forme de l'étoile*/
          cframe=white  /*trame de fond*/
          starcircles=(1) /* cerle selon le % des valeurs*/     
    ;
          /* -------------------------------------------------------------------
       Fin du code de la tâche.
       ------------------------------------------------------------------- */
    RUN; QUIT;
     
    /*donc avec ce code, je ne suis pas arrivée à graduer les axes de 0 à 100, ni de mettre les libellés, ni de mettre les valeurs moyennes prises par chaque variable à côté de chaque point d'interruption entre 2 côtés du polygone*/
    [Edit]
    je m'excuse mais j'ai oublié de vous remercier
    [/Edit]

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Par défaut
    tu peux envoyer un jeu de données ?

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut oui, jeu de données mais...
    Citation Envoyé par datametric Voir le message
    tu peux envoyer un jeu de données ?
    Bonjour,

    que veux tu dire par un jeu de données? les dnnées chiffrées initiales? si c'est le cas, ce n'étaient pas des données rentrées comme ça sous SAS en datalines, mais des fichiers excel avec bcp de variables

    je précise uniquement que la variable "calculation", c'est elle qui a la liste des variables (que je voudrais renommer) et qui sont :
    TDP_1_Mean TDP_2Mean .........TDP_10_Mean
    la variable "colonne1" contient les moyennes de chque modalité de la variable "calculation"

    exemple la moyenne de TDP_1_Mean correspond à 70, de TDP_2_Mean corespond à 74 etc......TDP_10_Mean correspond à 89....

    j'espère que c'est un peu plus clair, sinon je peux expliciter plus si besoin ma question

    merci bcp

  4. #4
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Par défaut
    Un jeu de données permettrait aux personnes du forum de tester le code et de te proposer une solution.
    La nature des données importe peu si elle permet de travailler sur ton problème.

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut jeu de donné pour le radar+expliciter ma question
    Bonjour,

    Je vais essayer d'expliciter plus ma question précèdente

    Pour bien comprendre à quoi je veux arriver, il y a la possibilité de visualiser le graphe suivant (graphe2) sur "http://www.imagup.com/pics/1274926246.html"
    et voilà le graphe (graphe1) que je trace actuellement mais qui est très très insuffisant car il est pratiquement illisible "http://www.imagup.com/pics/1274925899.html"


    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    /*mon jeu de donné est le suivant, il contient deux variable 'var1' et 'moy_var'=moyenne variable1
    j'ai la variable1 qui a les modalités TDP_1_Mean, TDP_2_Mean,....TDP_10_Mean, donc 10 modalités (10 variables sur les 10 axes du radar), pour chacune on avait calculé sa moyenne qu'on affecte à la variable 'moy_var1'*/
     
     
    data radar;
    input var1$ moy_var1;
    datalines;
    TDP_1_Mean 90.15
    TDP_2_Mean 40.12
    TDP_3_Mean 20
    TDP_4_Mean 15
    TDP_5_Mean 64.15
    TDP_6_Mean 75.12
    TDP_7_Mean 45.19
    TDP_8_Mean 73.58
    TDP_9_Mean 78.56
    TDP_10_Mean 58.02
    ;
    run;
     
    /*Le radar que je devrais tracer doit avoir 10 axes, sur chaque axe doit se trouver les variables TDP_1_Mean, ...TDP_10_Mean qui doivent apparaitre à l'extrémité de chaque axe, également, les valeurs moyennes (la variable 'moy_var1' doivent appareitre sur les sommets de mon radar, voir encore le 2ème graphe*/
     
     
    goptions reset=all device=activex ftext=swissb ;
    title1 j=c h=13pt 'Indicateur du dossier patient';
    title2 j=c h=10pt 'Année 2009';
     
    axis1  value=(h=1 c=cx00cc00);
    axis2 value=(h=2 c=cx00cc00) ;
    axis3 value=(h=3 c=cx00cc00) ;
    axis4 value=(h=4 c=cx00cc00) ;
    axis5 value=(h=5 c=cx00cc00) ;
    axis6 value=(h=6 c=cx00cc00) ;
    axis7 value=(h=7 c=cx00cc00) ;
    axis8 value=(h=8 c=cx00cc00) ;
    axis9 value=(h=9 c=cx00cc00) ;
    axis10 value=(h=10 c=cx00cc00);
     
    /*je dois graduer chaque axe de  0 à 100 car la variable "var1" est noté de 0 à 100, TDP_1_Mean et TDP_2_Mean....c'étaient des moyennes)
    axis1 order = (0 to 100 by 20);
    axis2 order = (0 to 100 by 20);
    axis3 order = (0 to 100 by 20);
    axis4 order = (0 to 100 by 20);
    axis5 order = (0 to 100 by 20);
    axis6 order = (0 to 100 by 20);
    axis7 order = (0 to 100 by 20);
    axis8 order = (0 to 100 by 20);
    axis9 order = (0 to 100 by 20);
    axis10 order = (0 to 100 by 20);
     
     
    /*TDP_1_Mean, ....TDP_10_Mean sont des libellés illisibles, je dois alors leur donner un libellé complet*/
     
    axis1 label=('Présence d’’un document relatif à l’admission’);
    axis2 label = (‘Contenu de l’examen médical d’entrée noté’’);
    axis3 label= (‘Prescriptions médicamenteuses établies pendant l’hospitalisation conforme’) ;
    axis3 label =(‘Présence d’un (ou des) compte(s) rendu(s) opératoire(s)) ;
    axis4 label=(‘Présence d’un compte rendu d’accouchement’) ;
    axis5 label=(‘Présence d’un dossier d’anesthésie’) ;
    axis6 label=(‘Trace écrite d’un traitement de sortie’) ;
    axis7 label=(‘Présence d’un courrier de fin d’hospitalisation’) ;
    axis8 label=(‘Présence d’un courrier de fin d’hospitalisation conforme’) ;
    axis9 label=(‘Dossier organisé et classé’) ;
    axis10 label=(‘Présence d’un document relatif à l’admission’) ;
     
    /*Je procède laors à tracer le radar*/
    PROC GRADAR DATA =radar;
    note height=4 color=red 'Red Tide'
         color=blue ' Effects on Coastal Fishing';
          CHART var1
     /  FREQ=moy_var1
         staraxis=(axis1 axis2 axis3 axis4 axis5 axis6 axis7 axis8 axis9 axis10) /*permet de mettre une forme par axe staraxis=(axis1, axis1, axe3 etc jusqua 13 dans notre cas)*/
     
    	  starfill=(solid) /* colori l'intérieur autre option empty*/
          STARTYPE=WEDGE /* forme de l'étoile*/
          cframe=white  /*trame de fond*/
          starcircles=(1) /* cerle selon le % des valeurs*/  
    ;
          /* -------------------------------------------------------------------
       Fin du code de la tâche.
       ------------------------------------------------------------------- */
    RUN; QUIT;

    Donc je ne suis pas arrivée, ni à mettre les libellés sur les axes, ni les valeurs moyennes sur les sommets du radar, ni graduer les axes
    je vous sollicite de bien vouloir me donner un coup demain
    merci

  6. #6
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Par défaut
    Ca va t'aider. Sauf que pour afficher les valeurs des moyennes, je ne vois que la table ANNOTATE pour cela.
    Bon courage et appuie toi sur les exemples de la doc sur AXIS, GRADAR et GOPTIONS.

    Goptions reset=all est à mettre au début
    activex ne supporte pas les modifications de styles et notamment les titrages comme tu voulais.

    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
     
     
    DATA radar;
    input var1$ moy_var1;
    datalines;
    TDP_1_Mean 90.15
    TDP_2_Mean 40.12
    TDP_3_Mean 20
    TDP_4_Mean 15
    TDP_5_Mean 64.15
    TDP_6_Mean 75.12
    TDP_7_Mean 45.19
    TDP_8_Mean 73.58
    TDP_9_Mean 78.56
    TDP_10_Mean 58.02
    ;
     
    run;
     
    goptions reset=ALL;
     
    axis1 ORDER = (0 TO 100 BY 20) label = ("Présence d’’un document relatif à l’admission");
    axis2 ORDER = (0 TO 100 BY 20) label = ("Contenu de l’examen médical d’entrée noté");
    axis3 ORDER = (0 TO 100 BY 20) label = ("Prescriptions médicamenteuses établies pendant l’hospitalisation conforme");
    axis4 ORDER = (0 TO 100 BY 20) label = ("Présence d’un (ou des) compte(s) rendu(s) opératoire(s))");
    axis5 ORDER = (0 TO 100 BY 20) label = ("Présence d’un compte rendu d’accouchement");
    axis6 ORDER = (0 TO 100 BY 20) label = ("Présence d’un dossier d’anesthésie");
    axis7 ORDER = (0 TO 100 BY 20) label = ("Trace écrite d’un traitement de sortie ");
    axis8 ORDER = (0 TO 100 BY 20) label = ("Présence d’un courrier de fin d’hospitalisation ");
    axis9 ORDER = (0 TO 100 BY 20) label = ("Présence d’un courrier de fin d’hospitalisation conforme ");
    axis10 ORDER = (0 TO 100 BY 20) label =("Dossier organisé et classé ");
     
     
    ods html;
    goptions 
    title1 j=c h=13pt 'Indicateur du dossier patient';
    title2 j=c h=10pt 'Année 2009';
     
     
    PROC GRADAR DATA =radar;
          CHART var1
     /  FREQ=moy_var1 staraxis=(axis1, axis2, axis3, axis4, axis5, axis6, axis7, axis8,axis9, axis10)
    	  starfill=solid
    	  cstarfill=red 
          STARTYPE=WEDGE
          cframe=white
          starcircles=(1)
    	  spider
     
    ;
     
    RUN; QUIT;

  7. #7
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut j'ai appliqué ton code datametric, mais!!
    Bonjour à tout le monde,

    merci Datametric pour ta réponse, effecivement, cette fois ci je vois les libellés, sauf que :
    1-Le nombre de caractère des libellés pris est assez réduit (du coup je n'ai qu'un morceau de chaque libellé)
    2-la graduation n'a pas été faite

    existe t-il peut être une option qui manque dans le code?

    merci bien

  8. #8
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Par défaut


    Bon courage et appuie toi sur les exemples de la doc sur AXIS, GRADAR et GOPTIONS.

  9. #9
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut exepmle de la doc?
    Citation Envoyé par datametric Voir le message
    Bonjour datametric

    tu veux dire quoi par exemples de la doc? est ce que tu parles des exmples de l'aide SAS dans le menu de l'éditeur de SAS???

    sinon, si t'as des exemples de doc, je ne dirais pas non!!

    merci

  10. #10
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Par défaut
    Je parle de l'aide en ligne ou de l'aide lorsque tu appuies sur la touche F1.

    Autrement, sur le support.sas.com tu as la base de connaissances SAS.

  11. #11
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut relance de la même question....j'avais déjà vu la doc en ligne!
    Bonjour à tout le monde,

    merci datametric. J'avais déjà essayé avant de poster ma question ici de voir différents articles et également le site du support SAS et la doc en ligne de SAS, mais je n'ai pas trouvé de réponse à ma question

    Pour les libellés, j'ai essayé de faire une proc format, bizarrement, TOUJOURS, ça ne fonctionne pas et le nombre de caractères de mes variables pris est très limité (je n'ai pas sur chaque axe l'ensemble de chaque libellé)
    la graduation ne marche toujours pas (je n'ai pas trouvé sur la doc en ligne ce qui bloque avec le code utilisé)

    voilà alors le nouveau code (il ya que la proc format qui est nouvelle)


    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    DATA radar;
    input lib moy;
    datalines;
    1 90.15
    2 40.12
    3 20
    4 15
    5 64.15
    6 75.12
    7 45.19
    8 73.58
    9 78.56
    10 58.02
    ;
    run;
     
     
    proc format;
    value flib
    1='Présence dun document relatif a ladmission'
    2='Contenu de l''examen médical d''entrée noté'
    3='Prescriptions médicamenteuses établies pendant l''hospitalisation conforme'
    4='Présence dun (ou des) compte(s) rendu(s) operatoire(s)'
    5='Présence dun compte rendu daccouchement'
    6='Présence dun dossier d''anesthésie'
    7='Présence d''un dossier transfusionnel'
    8='Trace écrite dun traitement de sortie'
    9='Présence dun courrier de fin d''hospitalisation conforme'
    10='Dossier organisé et classé'
    ;
    run;
     
     
    axis1 ORDER = (0 TO 100 BY 20);
    axis2 ORDER = (0 TO 100 BY 20);
    axis3 ORDER = (0 TO 100 BY 20) ;
    axis4 ORDER = (0 TO 100 BY 20) ;
    axis5 ORDER = (0 TO 100 BY 20) ;
    axis6 ORDER = (0 TO 100 BY 20) ;
    axis7 ORDER = (0 TO 100 BY 20) ;
    axis8 ORDER = (0 TO 100 BY 20) ;
    axis9 ORDER = (0 TO 100 BY 20) ;
    axis10 ORDER = (0 TO 100 BY 20);
    goptions reset=all  ;
     
    /*ftext=swissb */
     
     
    ods html;
    goptions;
    title1 j=c h=13pt 'Indicateur du dossier patient';
    title2 j=c h=10pt 'Année 2009';
     
     
    PROC GRADAR DATA =work.radar;
    format lib flib.;
    note height=4 color=red 'Red Tide'
         color=blue ' Effects on Coastal Fishing';
          CHART lib
     /  FREQ=moy
     annotate=anno
         staraxis=(axis1 axis2 axis3 axis4 axis5 axis6 axis7 axis8 axis9 axis10) /*permet de mettre une forme par axe staraxis=(axis1, axis1, axe3 etc jusqua 13 dans notre cas)*/
    	  starfill=(solid) /* colori l'intérieur autre option empty*/
    	   cstarfill=blue
          STARTYPE=WEDGE /* forme de l'étoile*/
          cframe=white  /*trame de fond*/
          starcircles=(1)/* cercle selon le % des valeurs*/
    	  spider 
    ;
          /* -------------------------------------------------------------------
       Fin du code de la tâche.
       ------------------------------------------------------------------- */
    RUN; QUIT;


    en vous remerciant d'avance

Discussions similaires

  1. [network simulator]tracer des graphes
    Par popov2 dans le forum Développement
    Réponses: 1
    Dernier message: 10/03/2006, 23h08
  2. Liste déroulantes . Interdire certaines options
    Par hisy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/01/2006, 12h58
  3. Tracer des graphes
    Par PRomu@ld dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 09/01/2006, 22h17
  4. Désactivation de certaines options pour un exe donné
    Par Invité(e) dans le forum Windows
    Réponses: 6
    Dernier message: 04/01/2006, 19h46
  5. Réponses: 3
    Dernier message: 15/04/2004, 08h44

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