2017-04-18 2 views
0

입니다. 논리적 인 인수를 사용하여 R에서 산점도의 특정 점에 색상을 지정하려고합니다. 내 데이터는 성 (M/F) 및 교수 (A/M/S/E)의 기능입니다. 나는 각 교수진을 색칠하고, 녹색, 적색, 청색, 검정색으로 말하고, 암컷을 윤곽선으로 만 보이게하고, 흰색 중심을 갖고 싶습니다.플롯의 착색 점은 R

plot(year, logit.prop, type="n", xlab="Year of graduation", ylab="Logit proportion of survivors", ylim=c(-1,3)) 
points(year[faculty=="M"], logit.prop[faculty=="M"], pch=21, 
points(year[faculty=="A"], logit.prop[faculty=="A"], pch=21, bg="red", col="red") 

이, (여기 년 먹으 렴) x 축 값이 여성과 둘 다 포인트 색상을 R을 알 수있는 방법이 내가 현재 사용하고 코드의 섹션이있다?

+0

컬러는 벡터를 취할 수 있습니다. 'my_colors <-c ("grey80", "firebrick", "navyblue") color = ifelse (조건 1 및 조건 2, '빨강', '검정') –

답변

1

@ mr.joshuagordon이 말한 것처럼 col 및 다른 인수는 points입니다. 요인은 내부적으로 최대에 1부터 계산 정수이기 때문에이 경우

simple points

df <- data.frame(x = rep(1:4, each = 2), y = rep(1:2, times = 4), faculty = rep(c("A", "M", "S", "E"), each = 2), gender = rep(c("M","F"), times = 4)) 
df 
# x y faculty gender 
# 1 1 1  A  M 
# 2 1 2  A  F 
# 3 2 1  M  M 
# 4 2 2  M  F 
# 5 3 1  S  M 
# 6 3 2  S  F 
# 7 4 1  E  M 
# 8 4 2  E  F 
plot(y ~ x, data = df, pch = ifelse(gender == "M", 16, 21), col = factor(faculty)) 
text(y + 0.5 ~ x, data = df, labels = faculty) 
factor(faculty) 근무 : 데이터를 제공하지 않았기 때문에, 여기에 뭔가. 당신은 각각의 번호를 설정 어떤 색상을 볼 수 있습니다 당신은 다른 색상을 원하는 경우

palette() 
# [1] "black" "red"  "green3" "blue" "cyan" "magenta" "yellow" 
# [8] "gray" 

, 당신은 하나 faculty 자체를 (예 : ifelse 등) 조건문을 사용하거나 그냥 팔레트 색상을 정의 할 수 있습니다 (?palette 참조).

+0

그는 단지 몇 가지 색상 만 필요로한다면 간단히 색상 벡터를 정의 할 수 있습니다. ","orange ")' 플롯에서 호출하십시오. 'col = my_colors [factor (df $ faculty)]' 팔레트보다 쉽습니다;) – Toshiro