Taille de caractères

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Eric Pagot
Messages : 195
Enregistré le : 15 Fév 2007, 17:10

Taille de caractères

Messagepar Eric Pagot » 24 Avr 2007, 10:03

Bonjour,

Je voudrais pouvoir ajuster la taille de mes caractères à l'axe pour que tout apparaisse. par exemple, j'ai 6 variables de x caractères représentées sur l'axe des X. Si le nom d'une variable est trop grande, elle ne s'écrit pas sur le graphique. Je sais qu'il est possible d'utiliser cex.name pour la taille, mais comment peut-on calculer la taille en fonction du nombre de variables et de la longueur de celles-ci ?
Vétérinaire CTPA

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 24 Avr 2007, 11:18

il faut regarder dans par() ?par pour savoir quels sont les paramètes qui gèrent la taille de la fenêtre et de la zone graphique mais il me semble que c'set un peu complexe si c'est juste pour avoir le nom des variables au complet. Dans ce cas, pour ma part je ne m'embête pas et je place le texte en vertical avec le paramètre las = 2 (je crois, j'écris ça de mémoire, cf. ?par pour savoir les valeurs à utiliser)

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 24 Avr 2007, 11:51

Bonjour,


Je ne sais pas si tu peux le faire facilement mais regarde déjà du côté des fonctions strwidth et strheight qui te donne la taille qu'une chaîne de caractère va prendre dans la fenêtre graphique, tu peux les avoir soient en "coordonnées utilisateur", "pouce" ou en proportion de la taille de la fenêtre graphique. Tu peux avoir une idée relative de l'affichage d'une chaîne de caractère dans la fenêtre graphique. En te servant de par()$pin qui est les dimensions de la région utilie en pouce et de par()$usr qui sont les coordonnées en coordonnées utilisateur de la région utile, avec les coordonnées ou doit s'afficher le texte tu pourras savoir si l'affichage de ton texte va sortir ou non de la fenêtre graphique. Il reste a faire une fonction pour calculer une valeur de cex.names.

Maxime

Eric Pagot
Messages : 195
Enregistré le : 15 Fév 2007, 17:10

Messagepar Eric Pagot » 25 Avr 2007, 15:29

Merci pour ces renseignements. J'ai utilisé la fonction las=3 (vertical) pour certains graphiques.
Pour d'autre, j'ai procédé par tâtonnements : en fait, je voulais utiliser la fonction barplot et écrire la légende sous chaque barre (un groupe). La largeur de la barre dépend du nombre de niveaux et cela conditionne la place pour écrire sous chaque barre.
La fonction cex.names est proportionnelle à l'unité pour la grandeur des caractères. J'ai donc tenu compte à la fois du nombre de barres et du nombre maximal de caractères de la légende. La grandeur varie de 1 à 0.6. Je me suis débrouillé pour calculer le nombre en fonction de la somme nbre de groupe+longueur max de l'intitulé des groupes avec des parties entières. Si cela intéresse qq'un, je peux toujours mettre la formule...
Vétérinaire CTPA


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité