Ajout d'une table dans le tracé d'une région d'un ggplot dans la r
Je voudrais ajouter une table des coordonnées du site mis en évidence dans un ggplot.
À l'aide d'un précédent question comme exemple de données:
set.seed(1)
mydata <- data.frame(a=1:50, b=rnorm(50))
ggplot(mydata,aes(x=a,y=b)) +
geom_point(colour="blue") +
geom_point(data=mydata[10:13, ], aes(x=a, y=b), colour="red", size=5)
Je voudrais ajouter le tableau suivant pour le coin inférieur droit de la parcelle dans le traçage de la région. Des conseils?
table<-cbind(sites=c("site 1","site 2","site 3","site 4"),mydata[10:13,])
table
sites a b
site 1 10 -0.3053884
site 2 11 1.5117812
site 3 12 0.3898432
site 4 13 -0.6212406
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
ggplot2
'sannotation_custom
avec untableGrob
de lagridExtra
paquet.b
cependant, à moins que vous vous souciez vraiment de 1: 10 000 de précision (astuce: vous n'avez pas, à moins que le vol à Mars).?tableGrob
de voir l'esthétique que vous pouvez contrôler. À l'aide deshow.box=TRUE
servira de cadre aux cellules.Inf
et-Inf
de le pousser à des extrémités ou du centre, mais il va tomber à l'extérieur de la parcelle de la région.@user3206440, @Punintended Un moyen facile de supprimer les numéros de ligne existe: ajouter
rows = NULL
à l'appel àtableGrob
.Veuillez voir le gridExtra Wiki.
Avec la sortie de 'ggplot2' 3.0.0 et 'ggpmisc' 0.3.0 une nouvelle réponse est plus simple possible:
'ggplot2' 3.0.0 soutient pleinement tibbles (voir annonce de publication) pour dresser la carte d'une liste de trames de données à la
label
esthétique. La nouvellegeom_table()
dans le paquet 'ggpmisc 0.3.0 profite de ce, ce qui rend l'ajout de tables avec une syntaxe similaire à celle degeom_label()
possible (voir la documentation). Ici semblait le plus approprié d'ajouter le tableau comme unl'annotation, mais bien sûr
geom_table()
peut également être utilisé directement, comme d'autresggplot
géométries.@user3206440: j'ai trouvé une solution qui supprime les numéros de ligne. J'ai formaté mes données comme une matrice, attribué des noms de colonne, puis avait tableGrob appeler directement. Chaque fois que j'ai eu tableGrob l'appeler comme une trame de données, la ligne nom persisté.
Ci-dessous est un exemple. Je suis sûr qu'il ya un moyen plus facile de traiter avec le chisq.test de sortie
Et puis plus tard...