2016-08-17 4 views
0

이것은 this, thisthis 질문에 대한 후속 조치입니다.각 패널의 밑줄 같은 히스토그램

현재, I는 동일한 어두운 히스토그램 윤곽 열두 가지 단색 회색 막대 그래프에 중첩되는 열두 패널 격자를 가지고

이 쉽게 각 패널에 새로운 데이터를 비교할 수 Twelve panels with two histograms in each, one as an outline over the other

같은 다른 데이터 세트로 질문 관련이없는 몇 가지 세부 사항을 떠나, 내 코드는 다음과 같습니다

histogram(~ foo | bar, 
      data=mydata[mydata$bar!="none",], # get only the 12 categories 
      col=mylightgray, border=mylightgray, 
      panel=function(...){panel.histogram(...) # add histogram to ea. panel: 
           panel.histogram(x=mydata[mydata$bar=="none",]$foo, 
            col="transparent", border="black")}) 

가 지금은 말하자면, 색상을 반전 할 : 나도 같은 고체 회색에 다른 개요 히스토그램을 중첩 할 히스토그램. 여기

문제이다 :, 회색 막대 그래프는 단순히 색상을 바꿀 경우 주 히스토그램 col="transparent"border="black"을 갖도록 패널 기능 히스토그램이 mylightgray를 사용하는 반면,

상단에있을 것입니다, 그리고 부분을 흐리게합니다 1 개의 패널에 2 개의 히스토그램을 붙이는 목적을 무효화하는 아웃 라인 히스토그램.

반면 외부 주 히스토그램이 bar=="none"이고 패널 히스토그램이 bar!="none"을 사용하도록 데이터 사양을 바꾸면 하나의 패널 만 얻습니다.

문제는 추가 패널 기능이 아니라 주 히스토그램 호출이므로 먼저 쓰고 패널 수를 제어한다는 것입니다. 하단에 인 그림이 여러 개있는 패널을 만드는 것은 불가능합니다. 동일한 데이터의 12 개의 복제본으로 데이터 프레임을 만들지 않는 이상은 동일합니다. 특별한 데이터를 생성하지 않고도 해결책이 있는지 궁금합니다.

+2

질문 자체에 최소한의 [재현 가능한 예] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 포함하십시오. 다른 질문에서 부분적 정보를 추적해야하는 경우 어려움을 겪었습니다. 또한 사진/스케치를 포함하여 원하는 것을 정확히 알 수 있습니다. – MrFlick

+0

관심있는 게시물을 찾을 수 있습니다. https://drsimonj.svbtle.com/plotting-background-data-for-groups-with-ggplot2 –

+0

@MrFlick, 할 것이다. 이 경우에는 필요하지 않을 수도 있다고 생각했습니다. – Mars

답변

0

panel.histograms 전화 순서로 바꿉니다. 즉, 먼저 회색 막대 그래프를 그립니다.