Question

J'essaie d'utiliser ggplot2 pour créer et étiqueter un nuage de points. Les variables que je trace sont à la fois mises à l'échelle, de sorte que les axes horizontal et vertical sont représentés en unités d'écart type (1,2,3,4, ... ect par rapport à la moyenne). Ce que j'aimerais pouvoir faire, c’est d’inscrire SEULEMENT les éléments qui dépassent une certaine limite d’écarts-types par rapport à la moyenne Idéalement, cet étiquetage serait basé sur une autre colonne de données.

Y at-il un moyen de faire cela?

J'ai consulté le manuel en ligne, mais je n'ai rien trouvé à propos de la définition des étiquettes pour les données tracées.

L’aide est appréciée!

Merci!

BEB

Était-ce utile?

La solution

Utiliser le sous-ensemble:

library(ggplot2)
x <- data.frame(a=1:10, b=rnorm(10))
x$lab <- letters[1:10]
ggplot(data=x, aes(a, b, label=lab)) + 
  geom_point() + 
  geom_text(data = subset(x, abs(b) > 0.2), vjust=0)

Autres conseils

L'étiquetage peut être effectué de la manière suivante:

library("ggplot2")
x <- data.frame(a=1:10, b=rnorm(10))
x$lab <- rep("", 10)   # create empty labels
x$lab[c(1,3,4,5)] <- LETTERS[1:4]   # some labels
ggplot(data=x, aes(x=a, y=b, label=lab)) + geom_point() + geom_text(vjust=0)

Sous-définition en dehors de la fonction ggplot:

library(ggplot2)
set.seed(1)
x <- data.frame(a = 1:10, b = rnorm(10))
x$lab <- letters[1:10]
x$lab[!(abs(x$b) > 0.5)] <- NA
ggplot(data = x, aes(a, b, label = lab)) + 
  geom_point() + 
  geom_text(vjust = 0) 

Utilisation de qplot:

qplot(a, b, data = x, label = lab, geom = c('point','text'))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top