2009-11-29 37 views
11

Tôi đang cố gắng sử dụng ggplot2 để tạo và gắn nhãn một phân tán. Các biến mà tôi vẽ đồ thị đều được chia tỷ lệ sao cho trục ngang và trục dọc được vẽ theo đơn vị độ lệch chuẩn (1,2,3,4, ... vv từ giá trị trung bình). Những gì tôi muốn có thể làm là nhãn CHỈ những yếu tố vượt quá một giới hạn nhất định của độ lệch chuẩn từ trung bình. Lý tưởng nhất, việc ghi nhãn này sẽ dựa trên một cột dữ liệu khác.ggplot2 Nhãn Phân tán Lô

Có cách nào để thực hiện việc này không?

Tôi đã xem qua hướng dẫn trực tuyến, nhưng tôi chưa thể tìm thấy bất kỳ điều gì về việc xác định nhãn cho dữ liệu được vẽ.

Trợ giúp được đánh giá cao!

Cảm ơn!

BEB

Trả lời

15

Sử dụng 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) 
4

Việc ghi nhãn có thể được thực hiện theo cách sau:

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

Subsetting bên ngoài của hàm 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) 

Sử dụng q cốt truyện:

qplot(a, b, data = x, label = lab, geom = c('point','text')) 
Các vấn đề liên quan