layout

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

Marianne Robert
Messages : 108
Enregistré le : 21 Juil 2008, 07:38

layout

Messagepar Marianne Robert » 08 Déc 2010, 17:39

Bonjour a tous,

Je souhaiterai superposer une carte sur une autre carte.

la première devrait prendre la plus grande place (voir tt la place) et la deuxième apparaitre en petit en haut a gauche par exemple.
l'idée c'est que je fait un zoom sur ma zone d'étude mais je souhaiterai faire apparaitre en petit une carte plus générale afin d'aider le lecteur a localiser ma zone d'étude sur le planisphère.

pas de souci pour faire les carte ( fonction map) , mais je bloque pour les paramètres des fonction layout, splitscreen ..

any suggestions ?
Merci d avance

Nathalie Grafféo
Messages : 23
Enregistré le : 03 Déc 2010, 09:42

pistes possibles

Messagepar Nathalie Grafféo » 09 Déc 2010, 10:20

Bonjour,
je ne connais pas la fonction map mais il va falloir que je l'utilise bientôt.

Je vous propose donc deux idées naives, en espérant que cela puisse aider :)
La première est un exemple:
http://addictedtor.free.fr/graphiques/graphcode.php?graph=68
La seconde, pourquoi ne pas couper la fenêtre graphique comme cela:

Code : Tout sélectionner

par(fig=c(0.3,1,0,1), new=TRUE)
map(...)
par(fig=c(0,0.3,0.5,1), new=TRUE)
map(...)


Si vous pouviez partager votre expérience en disant ce qui fonctionne le mieux, svp?
Merci d'avance et bon courage!

Marianne Robert
Messages : 108
Enregistré le : 21 Juil 2008, 07:38

Messagepar Marianne Robert » 09 Déc 2010, 13:46

Bonjour,

merci, le lien m a été beaucoup plus utilise que votre proposition

merci

Etienne Neuts
Messages : 26
Enregistré le : 30 Sep 2008, 07:13

Messagepar Etienne Neuts » 10 Déc 2010, 12:05

L'utilisation du layout permet d'organiser et d'ordonner l'affichage sur une même fenêtre graphique.

layout(mat, widths = rep(1, ncol(mat)), heights = rep(1, nrow(mat))

Au niveau des paramêtres d'entrée, il faut une matrice (mat) représentant le découpage et le nombre de graphique sur la fenêtre.
Par exemple

Code : Tout sélectionner


#Couper la feuille graphique en 2 lignes
matrix(c(1,2),nc=1,byrow=T)

#Couper la feuille graphique en 2 colonnes
matrix(c(1,2),nc=2,byrow=T)

 #afficher 4 graphiques sur une même page
              #avec une organisation 2 en haut, 2 en bas
               matrix(c(1,2,3,4),nc=2,byrow=T)

 #afficher 3 graphiques sur une même page
              #avec une organisation 1 en haut, 2 en bas
               matrix(c(1,1,2,3),nc=2,byrow=T)


La première chose à faire pour bien utiliser cette fonction c'est de savoir comment organiser la fenêtre graphique.
Les numéros inclus dans la matrice correspondront à l'ordre d'apparition des graphiques.

Jusque là le découpage fournit des parties de même taille. Si maintenant, vous souhaitez changer la hauteur d'une colonne ou d'une ligne, il vous faudra utiliser les paramètres widths et heights. Le paramètre width contient autant de valeur qu'il y a de colonne et heights autant de valeur qu'il y a de ligne.

Voici un exemple qui peut être utile.

Code : Tout sélectionner

mat=rbind(
c(0,1,1,0),
c(0,2,2,0),
c(0,3,3,0),
c(0,4,4,0),
c(0,5,7,0),
c(0,6,8,0),
c(0,9,9,0)
)
layout(mat , widths=c(2,20,20,2) , heights=c(2,5,20,5,5,20,2))
layout.show(9)
#layout.show(n) permet de visualiser l'élément n de l'affichage
#graphique. En mettant comme paramètre le nombre de graphique à
#afficher, vous obtenez la représentation graphique


Vous pouvez ainsi dans un même document pdf faire plusieurs structures d'affichage. Attention à respecter la somme des paramètres heights et widths pour un affichage uniforme.

Voici un exemple de réalisation de rapport automatique présentant une multitude de découpage graphique. Même les tableaux sont faits en utilisant la fonction layout.


http://etienne.neuts.free.fr/Statistique%202008.pdf

Bon courage.


Retourner vers « Questions en cours »

Qui est en ligne

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