|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : janvier 2005 Messages : 527 ![]() |
Bonjour,
Encore moi ... Je n'aurai pas arrêté de vous embeter cette semaine Suite à mes précédents messages dans d'autres sous-forums, j'ai un graphique avec des points et quand j'approche la souris, les coordonnées du point apparaissent (merci Olivier J'ai parcouru le forum et vu notamment ces 2 posts: dimension graphique odshtml et reporting zoom graphique. Je ne souhaite pas avoir à utiliser le where et à générer plusieurs graphiques. J'ai donc tenté les options xpixels et ypixels. ça marche presque mais j'en suis à mettre xpixels=ypixels=10000 => - certains points se chevauchent encore - le graphique est immense et il faut les ascenseurs pour le parcourir Y a t il une autre manière "d'étirer le graphe en vertical" afin de bien distinguer les différents points sans rendre le graphique trop grand ? Si ce n'est pas possible, est il possible de mettre une couleur différente pour chaque point ? Merci de votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Dans les goptions tu peux utiliser xmax et ymax pour redimensionner ton graph. A toi après de jongler avec les valeurs pour obtenir la sortie que tu souhaites
La couleur des points peut être gérée par un annotate. Manoutz |
|
|
10
|
|
|
#3 |
|
Membre habitué
![]() Inscription : janvier 2005 Messages : 527 ![]() |
Salut Manoutz,
Je viens de tester ymax mais c'est le meme principe que ypixel: si je veux bien distinguer tous les points, il faut que je fasse un immense graphique. Je vais revenir sur ce que j'ai dit et je vais faire un sous graphique (zoom du graphique principal) en utilisant un where. Merci |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Si c'est toujours le graphique avec des infobulles, tu peux associer à tous les points d'une zone un lien hypertexte : quand on cliquera sur cette zone du graphique, on ouvrira une autre page Web avec l'image zoomée.
Les infobulles avaient un texte commençant par TITLE, pour un lien il faut commencer par HREF="nom de la page.htm" ; mettre les deux dans la même variable texte, et zou ! le tout dans l'option HTML de la proc GPLOT. Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : janvier 2005 Messages : 527 ![]() |
Je viens de voir ta réponse Olivier. Je teste tout ça lundi (parce que là, j'vais partir en week end
Merci. Bon week end ! |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : janvier 2005 Messages : 527 ![]() |
Bonjour,
Nouvelle semaine... et nouveau problème... J'ai testé le code pour l'hyperlien et ça fonctionne très bien Néanmoins, je me suis rendue compte d'un petit problème que j'ai dans mes données. Non seulement j'ai des points sur le graphique qui se chevauchent (et le zoom permet de les distinguer donc problème réglé), mais j'ai également des points qui ont exactement les mêmes coordonnées: je n'ai qu'une infobulle qui apparait. Est il possible d'afficher toutes les infobulles pour un même point ? Ou bien une seule infobulle qui regroupe toutes les informations ? Est ce que l'annotate peut être une solution ? Je ne sais pas exactement comment ça marche donc je vais aller lire de la doc. Merci pour votre aide. |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : janvier 2005 Messages : 527 ![]() |
Je viens de penser à une autre idée que j'essaie de développer en ce moment. C'est de compter le nombre de bulles qui ont exactement les memes coordonnées. Quand le compte est > 1, pour chacunes des coordonnées identiques, je mets bout à bout le texte de la bulle.
L'idée vous parait elle bonne ? Je me lance là dessus pour l'instant. |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Salut.
Oui, l'idée d'agréger par coordonnées proches ou exactement identiques me semble prometteuse. Par contre, pour "ranger" un peu le texte dans tes bulles, il faudrait y inclure des retours à la ligne. Et là, c'est le hic. Si tu regardes la page Web avec Internet Explorer, pas de souci : tu inclus des retours à la ligne avec la chaîne dans ta variable texte. Mais avec Firefox, pas moyen (je viens de vérifier sur des forums HTML et l'avis est unanime). Attention donc, si tu as beaucoup de texte à afficher dans ta bulle, ça va vite être le souk sous Firefox ! Bon courage. Olivier PS : en cadeau bonus, une petite application (regarder le résultant avec IE pour voir le retour à la ligne) qui intègre une jolie manière de programmer sans RETAIN ni IF THEN ELSE, la boucle Whitlock ou DOW-loop. Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Membre habitué
![]() Inscription : janvier 2005 Messages : 527 ![]() |
bon, et bien, j'avance pas vite ...
je suis partie sur mon idée de coller bout à bout le texte des bulles de memes coordonnées. et pour garder le texte de la bulle précédente dans mon dataset, je voulais utiliser retain. Mais j'ai du mal à comprendre cette fonction. Je créé une variable tooltip qui correspond à la bulle de la premiere observation de chaque groupe. Je fais un retain de ce tooltip. A l'itération suivante du data step, je dis (enfin je crois que je dis ça) que tooltip vaut le tooltip précédent concaténé avec la bulle courante. Mon code: Code :
tooltip vaut toujours la meme chose à chaque groupe de meme coordonnées, à savoir la valeur de bulle à la première observation de chaque groupe. Pourriez vous m'aider sur le retain ? Merci Salut Olivier, Je viens de voir ton message à l'instant. Je pars en réunion et je revois ça juste après. J'ai vu que tu me parles de sauts de lignes sous IE qui ne fonctionnent pas sous firefox mais pas de firefox où je suis donc pas de pb à ce niveau là. J'essaierai ton code sans le retain mais si tu peux me débugger sur le message que je viens d'écrire, je serais ravie |
||
|
|
00
|
|
|
#10 | |||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Citation:
En fait le RETAIN fait bien ce que tu demandes. Le souci se trouve ailleurs, dans qui ne sert pas à grand chose dans ce contexte. En effet, un format ne concerne que l'affichage. Tu as tout à fait le droit d'afficher un texte stocké sur 1 signe avec 2000 caractères si ça t'amuse : ça n'a aucune influence sur la place réservée par SAS pour stocker les valeurs. Alors quand on ne lui précise rien, il déduit la longueur à prévoir en mémoire de la première valeur à stocker. C'est pour ça que quand tu ajoutes des choses à la fin, il n'a pas la place de les stocker et du coup, ça ne laisse pas de trace. Au lieu d'une instruction format, c'est un LENGTH qu'il te faut. Je sépare exprès le $ du 1000, et j'ôte le point. On pourrait écrire aussi $1000 et $1000. et SAS comprendrait (en fait, je crois qu'il corrigerait en interne pour retrouver la syntaxe ci-dessus). L'intérêt de le présenter comme ça est d'éviter, justement, la confusion avec un format. Autres petites choses : dans ton instruction format, il y a un B qui traîne à la fin du nom de ta variable. Sans doute une coquille. Et pour concaténer la nouvelle bulle, n'oublie pas d'éliminer les blancs à droite dans la valeur existante : Dernière chose : je suppose que les valeurs de BULLE sont déjà calculées pour faire des bulles indépendantes. Donc elles commencent toutes par TITLE=. Je ne sais pas si ça peut fonctionner tel quel, parce que dans mon esprit il faudrait un seul TITLE= au début de toute l'infobulle. D'où mon code, qu'on peut transformer en étape DATA plus classique avec RETAIN. Code :
Olivier |
|||
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : janvier 2005 Messages : 527 ![]() |
![]() Je ne sais plus quoi dire à part: ![]() D'une part, merci d'avoir debuggé mon retain. Quand je mettais $1000, dans mon esprit, c'était bien pour spécifier la taille et je ne sais pas pourquoi j'ai mis format au lieu de length . Je devais pas être très réveillée en ce lund matin .D'autre part, un grand merci pour le zoom: je n'aurai jamais pensé que ça puisse se faire, c'est trop la classe .J'ai exactement ce que je voulais: mes infobulles apparaissent bien avec toutes les valeurs des points à l'intérieur meme pour ceux ayant les memes coordonnées. Le retour à la ligne entre 2 valeurs les rend beaucoup plus lisible (pour certains points, j'ai près de 40 valeurs !). Encore mille mercis pour toute l'aide apportée. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com