질문 2와 3은 스스로 대답했습니다-컬러 맥주 팔레트가 적합합니다. 어려운 질문은 1이지만 닉처럼 나는 그것이 거짓 희망에 기초하고 있다는 것을 두려워합니다. 선의 색은 선을 쉽게 구별 할 수있는 것이 아니라 연속성과 선이 얼마나 구불 구불한지를 기반으로합니다. 따라서 선의 색상 또는 대시 패턴 이외의 설계 기반 선택이있어 플롯을보다 쉽게 해석 할 수 있습니다.
예를 들어 제한된 도메인에서 다양한 모양의 함수를 근사화하는 스플라인의 유연성을 보여주는 Frank의 다이어그램 중 하나를 훔칩니다.
#code adapted from http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/rms.pdf page 40
library(Hmisc)
x <- rcspline.eval(seq(0,1,.01), knots=seq(.05,.95,length=5), inclx=T)
xm <- x
xm[xm > .0106] <- NA
x <- seq(0,1,length=300)
nk <- 6
set.seed(15)
knots<-seq(.05,.95,length=nk)
xx<-rcspline.eval(x,knots=knots,inclx=T)
for(i in 1:(nk−1)){
xx[,i]<-(xx[,i]−min(xx[,i]))/
(max(xx[,i])−min(xx[,i]))
for(i in 1:20){
beta<-2∗runif(nk−1)−1
xbeta<-xx%∗%beta+2∗runif(1)−1
xbeta<-(xbeta−min(xbeta))/
(max(xbeta)−min(xbeta))
if (i==1){
id <- i
MyData <- data.frame(cbind(x,xbeta,id))
}
else {
id <- i
MyData <- rbind(MyData,cbind(x,xbeta,id))
}
}
}
MyData$id <- as.factor(MyData$id)
이제 이것은 20 라인의 복잡한 혼란을 일으켜 시각화하기가 어렵습니다.
library(ggplot2)
p1 <- ggplot(data = MyData, aes(x = x, y = V2, group = id)) + geom_line()
p1
다음은 랩핑 된 패널을 사용하여 같은 크기의 작은 배수로 같은 플롯입니다. 전반적으로 비교하기는 약간 어렵지만 줄어든 공간에서도 선 모양을 시각화하는 것이 훨씬 쉽습니다.
p2 <- p1 + facet_wrap(~id) + scale_x_continuous(breaks=c(0.2,0.5,0.8))
p2
Stephen Kosslyn이 그의 저서에서 한 가지 요점은 얼마나 많은 다른 선이 플롯을 복잡하게 만드는지가 아니라 선이 취할 수있는 다른 유형의 모양이라는 것입니다. 20 개의 패널이 너무 작 으면 같은 패널에 배치하기 위해 유사한 궤적으로 세트를 자주 줄일 수 있습니다. 패널 내에서 선을 구별하는 것은 여전히 어렵습니다. 정의에 따라 각 선은 근처에 있고 자주 겹치지 만 패널 비교 사이의 복잡성을 상당히 줄입니다. 여기서 20 줄을 임의로 4 개의 그룹으로 줄였습니다. 이것은 라인의 직접 레이블링이 더 간단하고 패널 내에 더 많은 공간이 있다는 추가 이점이 있습니다.
###############1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
newLevels <- c(1,1,2,2,2,2,2,1,1, 2, 3, 3, 3, 3, 2, 4, 1, 1, 2, 1)
MyData$idGroup <- factor(newLevels[MyData$id])
p3 <- ggplot(data = MyData, aes(x = x, y = V2, group = id)) + geom_line() +
facet_wrap(~idGroup)
p3
당신이 아무것도 아닌 것에 집중한다면 모든 상황에 적용 할 수있는 일반적인 문구가 있습니다 . 10 개의 라인 만있는 경우 (10*9)/2=45
비교할 수있는 라인 쌍이 있습니다. 우리는 아마도 대부분의 상황에서 45 개의 모든 비교에 관심이 없을 것입니다. 특정 라인을 서로 비교하거나 한 라인을 나머지의 분포와 비교하는 데 관심이 있습니다. Nick의 답변은 후자를 잘 보여줍니다. 배경 선을 얇고 밝은 색과 반투명으로 그린 다음 전경색을 밝은 색과 두껍게 그리는 것으로 충분합니다. (또한 장치의 경우 다른 선 위에 전경 선을 그려야합니다!)
얽힘에서 각 개별 선을 쉽게 구별 할 수있는 레이어링을 만드는 것이 훨씬 더 어렵습니다. 지도 제작에서 전경 배경을 차별화하는 한 가지 방법은 그림자를 사용하는 것입니다 ( Dan Carr 의이 문서를 참조하십시오 ). 최대 10 줄까지 확장 할 수 없지만 2 ~ 3 줄에 도움이 될 수 있습니다. 다음은 Excel을 사용하는 패널 1의 궤적에 대한 예입니다!
매끄럽지 않은 궤적이있는 경우 밝은 회색 선과 같이 다른 점이있을 수 있습니다. 예를 들어 X 모양의 궤적을 두 개 또는 오른쪽과 거꾸로 한 V 모양의 두 궤적을 가질 수 있습니다. 선을 추적 할 수없는 동일한 색상을 그리기 때문에 이것이 일부를 제안하는 이유입니다 부드러운 선을 사용하여 평행 좌표 플롯을 그리거나 점을 지 터링 / 오프셋합니다 ( Graham and Kennedy, 2003 ; Dang et al., 2010 ).
따라서 설계 조언은 최종 목표와 데이터의 특성에 따라 변경 될 수 있습니다. 그러나 궤적 간의 이변 량 비교가 중요 할 때, 비슷한 궤적의 군집과 작은 배수를 사용하면 다양한 상황에서 플롯을 훨씬 쉽게 해석 할 수 있다고 생각합니다. 이것은 색상 / 라인 대시의 조합이 복잡한 플롯에있는 것보다 일반적으로 생산성이 높다고 생각합니다. 많은 기사에서 단일 패널 플롯은 필요한 것보다 훨씬 더 크며, 일반적으로 페이지 제약 조건 내에서 많은 손실없이 4 개의 패널로 분할 할 수 있습니다.