2012-01-07 7 views
16

분산 플롯의 단일 데이터 포인트에 대한 색상을 R에 어떻게 설정합니까?개별 데이터 포인트의 색상 설정

내가 사용하고 plot

+0

특정 색상 또는 모든 특정 데이터 포인트에 모든 데이터 포인트를 표시 하시겠습니까? – jitendra

+0

산점도에서 특정 데이터 포인트에 색상을 지정하려고합니다. – nit

답변

10

사용 그렇게

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

에서 그 예를 들어, 당신이 다섯 개 가지 색상으로 5 점을 얻을을 벡터화입니다 col= 인수 :

enter image description here

동일한 논리를 사용하여 2 ~ 3 개만 사용할 수 있습니다. 데이터 포인트 사이의 색상. R과 같은 언어에서 색인 생성 이해가 중요합니다.

28

@Dirk Eddelbuettel의 답변에서 확장하려면 plot으로 전화하여 col의 모든 기능을 사용할 수 있습니다. 예를 들어, x==3 점 빨간색이 색상, 블랙 모든 다른 사람을 떠나 :

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

example 1

같은 점 문자 pch, 문자 확장 cex 등을 위해 간다

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

example 2

+0

예, 스칼라 또는 재활용 가능한 벡터를 생성하는 _expression_. 그러므로'col = c (rep ("black", 3), rep ("blue", 2))'는 세 개의 검정색 점과 두 개의 파란색 점을가집니다. –

+0

아주 간단하지만 여기 ifelse 사용에 대해서는 전혀 생각해 본 적이 없습니다. 공유 해 주셔서 감사합니다 +1 –

17

코드를 통해 원하는 작업을 수행하기가 쉽습니다. rs는 이것을 할 수있는 좋은 방법을 제공합니다. 그러나 색을 변경하려는 점을 클릭하려는 경우 '식별'을 '점'명령과 함께 사용하여 새로운 색의 점을 다시 표시 할 수 있습니다.

# 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. 공유 해줘서 고마워, 그런 식으로 신원을 사용하지 않을 것 같아. +1 –

+1

신분도 R Studio에서 사용하기가 쉽습니다. 또한 라벨링 포인트에 유용합니다. 그러나 "정지"를 오른쪽 클릭하는 대신 R Studio 플롯 미리보기에 stop이라는 레이블이 붙은 단추가 있습니다. –

+0

@Captain RStudio의 제 버전에서 실제로 "마침"이라고 말합니다 – Dason