Je suis sur le point de comploter des rapports de cotes avec R / GGPLot2 et je souhaite ajouter deux flèches dessous ou à côté de l'étiquette X-Axe. On pointant à gauche, on pointant à droite, montrant une influence / croissante. J'ai essayé beaucoup de choses, comme Geom_Path, Geom_Line, sans grand succès.
Ceci est mon code:
forest <- function(d, xlab="Odds Ratio", ylab="Influencing variables"){ require(ggplot2) p <- ggplot(d, aes(x=ordered(x, levels=rev(x)), y=y, ymin=ylo, ymax=yhi)) + geom_pointrange() + geom_segment(aes(x = 0, xend = 0, y= 1, yend= 2)) + coord_flip() + geom_hline(aes(yintercept=1), lty=2) + ylab(xlab) + xlab(ylab) + scale_y_log10() return(p) } ##Test Data data <- data.frame( x = c("A","B","C","D","E","F","G","H","I"), y = c(1.782,0.136,0.978,0.645,0.518,1.474,0.855,0.673,0.369)) data <- transform(data, ylo = (0.719,0.046,0.945,0.295,0.188,0.577,0.407,0.310,0.145), yhi = c(4.420,0.398,1.012,1.411,1.424,3.768,1.798,1.460,0.940)) forest(data)
3 Réponses :
Je fais un peu de devinez sur ce que vous voulez, exactement, car je ne suis pas sûr de ce que vous essayiez avec p> Notez que j'ai une grande partie du positionnement, vous voudrez probablement bricoler avec ces valeurs pour obtenir ce que vous voulez ou que vous puissiez Essayez de les choisir de manière programmatique en fonction de vos données. P> P> geom_segment code>, que cela faisait partie de vos données, ou une tentative de créer une flèche. Mais vous pouvez construire sur
geom_segment code> pour obtenir quelque chose comme ce que vous décrivez:
Merci pour ton aide! Cela me rapproche de ce dont j'ai besoin. Mon intention était de tracer ces deux flèches sous la "Y". Mais peut-être que cela suffit.
@MARC - Les trucs de dessin à l'extérieur de la région de traçage sont techniquement possibles, mais compliqués, exigeant que vous soyez en désordre avec la grille code> package code>. Je dis souvent aux gens que des annotations personnalisées inhabituelles comme celle-ci, c'est souvent plus rapide / plus facile de simplement modifier l'image après le fait d'un éditeur d'image comme Illustrator ou quelque chose.
C'est un assez ancien poste, mais je pensais que je partagerais une autre option pour quiconque qui trébuche sur cela.
J'ai une situation qui nécessite vraiment que j'ai vraiment des flèches à l'extérieur de la région du complot (et ne vous souciez pas de impliquer p> Les modifications thématiques ne sont pas absolument nécessaires mais vous voudrez probablement augmenter la taille des flèches au moins un peu. P> Par défaut, la fonction Si vous souhaitez ajouter du texte aux étiquettes (en ajoutant simplement L'expression le rendrait probablement trop gros), les suivants devraient vous aider à démarrer: p> grille code>). Comme indiqué ci-dessous, l'utilisation d'expressions et de symboles peut être une bonne option pour certains: p>
() code> prend des codes de symbole Adobe qui sont contourts dans ce document . p>
Ceci peut facilement être fait en utilisant une annotation mathématique dans l'expression R (x <-> y) code>. Une table des options disponibles peut être trouvée ici .
Expression Code> permet également de latex comme des symboles mathématiques.
Lien est cassé, ici est une version de travail (ou Google "Annotation mathématique dans R")