2012-01-07 39 views
16

Làm cách nào để đặt màu cho một điểm dữ liệu trong ô phân tán trong R?Đặt màu cho một điểm dữ liệu riêng lẻ

Tôi đang sử dụng plot

+0

Bạn có muốn vẽ tất cả các điểm dữ liệu có màu cụ thể hoặc chỉ 1 điểm dữ liệu cụ thể không? – jitendra

+0

tôi muốn tô màu điểm dữ liệu cụ thể trong ô phân tán. – nit

Trả lời

10

Sử dụng col= lập luận đó là vector hóa để ví dụ trong

plot(1:5, 1:5, col=1:5) 

bạn nhận được năm điểm trong vòng năm màu sắc khác nhau:

enter image description here

Bạn có thể sử dụng cùng một logic để sử dụng chỉ hai hoặc ba màu sắc trong số các điểm dữ liệu của bạn. Hiểu lập chỉ mục là chính trong các ngôn ngữ như R.

28

Để mở rộng câu trả lời của @Dirk Eddelbuettel, bạn có thể sử dụng bất kỳ chức năng nào cho col trong cuộc gọi đến plot. Ví dụ, màu sắc này x==3 điểm màu đỏ, để lại tất cả những người khác màu đen:

x <- 1:5 
plot(x, x, col=ifelse(x==3, "red", "black")) 

example 1

Cùng đi cho điểm nhân vật pch, nhân vật mở rộng cex vv

plot(x, x, col=ifelse(x==3, "red", "black"), 
    pch=ifelse(x==3, 19, 1), cex=ifelse(x==3, 2, 1)) 

example 2

+0

Có, bất kỳ _expression_ năng suất một vô hướng hoặc một vector có thể tái chế. Vì vậy, 'col = c (đại diện (" đen ", 3), đại diện (" xanh ", 2))' sẽ có ba điểm đen, sau đó là hai blues. –

+0

Khá đơn giản nhưng tôi chưa bao giờ nghĩ đến việc sử dụng ifelse ở đây. cảm ơn bạn đã chia sẻ +1 –

17

Làm những gì bạn muốn làm thông qua mã là đủ dễ dàng và othe rs đã đưa ra những cách tốt đẹp để làm điều này. Tuy nhiên, nếu bạn muốn bấm vào các điểm bạn muốn thay đổi màu sắc của bạn có thể làm điều này bằng cách sử dụng 'xác định' cùng với lệnh 'điểm' để thay thế các điểm đó bằng một màu mới.

# Make some data 
n <- 15 
x <- rnorm(n) 
y <- rnorm(n) 

# Plot the data 
plot(x,y) 

# This lets you click on the points you want to change 
# the color of. Right click and select "stop" when 
# you have clicked all the points you want 
pnt <- identify(x, y, plot = F) 

# This colors those points red 
points(x[pnt], y[pnt], col = "red") 

# identify beeps when you click. 
# Adding the following line before the 'identify' line will disable that. 
# options(locatorBell = FALSE) 
+0

Dason thực sự tuyệt vời. Cảm ơn bạn đã chia sẻ, không nghĩ đến việc sử dụng nhận dạng như vậy. +1 –

+1

xác định cũng rất dễ sử dụng trong R Studio. Cũng tốt cho các điểm ghi nhãn. Nhưng thay vì nhấp chuột phải để "dừng" - có một nút có nhãn dừng trong bản xem trước cốt truyện của R Studio. –

+0

@Captain Trên phiên bản RStudio của tôi, nó thực sự nói "Hoàn thành" – Dason

Các vấn đề liên quan