Frage

Ich versuche ggplot2 zu verwenden, um ein Streudiagramm zu erstellen und beschriften. Die Variablen, die ich Plotten sind beide so skaliert, dass die horizontale und die vertikale Achse in Einheiten der Standardabweichung aufgetragen (1,2,3,4, ... ect vom Mittelwert). Was ich möchte in der Lage sein zu tun, nur die Elemente kennzeichnen, die über eine gewisse Grenze der Standardabweichungen vom Mittelwert sind. Idealerweise würde diese Markierung aus einer anderen Spalte von Daten basieren.

Gibt es eine Möglichkeit, dies zu tun?

Ich habe über das Online-Handbuch sieht, aber ich habe nicht in der Lage gewesen, etwas über das Definieren von Etikett für die gezeichneten Daten zu finden.

Hilfe ist willkommen!

Danke!

BEB

War es hilfreich?

Lösung

Verwenden subsetting:

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)

Andere Tipps

Die Markierung kann auf folgende Weise erfolgen:

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)

Untereinstellung außerhalb der ggplot Funktion:

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) 

Mit qplot:

qplot(a, b, data = x, label = lab, geom = c('point','text'))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top