2009-11-29 5 views
11

Próbuję użyć ggplot2 do utworzenia i oznaczenia wykresu rozrzutu. Zmienne, które wykreślam, są skalowane tak, że oś pozioma i pionowa są wykreślane w jednostkach odchylenia standardowego (1,2,3,4, ... ect od średniej). To, co chciałbym móc zrobić, to oznaczać TYLKO te elementy, które przekraczają pewną granicę standardowych odchyleń od średniej. Idealnie byłoby, gdyby ta etykieta była oparta na innej kolumnie danych.ggplot2 Etykiety plotera punktowego

Czy istnieje sposób, aby to zrobić?

Przeglądałem podręcznik online, ale nie byłem w stanie znaleźć nic na temat definiowania etykiet dla wykreślanych danych.

Pomoc jest doceniana!

Dzięki!

BEB

Odpowiedz

15

Zastosowanie podzbiorów:

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) 
4

Oznakowanie może być wykonane w następujący sposób:

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) 
1

podzbiorów poza funkcją 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) 

Korzystanie z q działka:

qplot(a, b, data = x, label = lab, geom = c('point','text'))