2015-02-05 3 views
1

geom_boxplot() 레이어 위에 geom_point() 레이어를 플로팅하여 ggplot2에 레이어를 플로팅하는 데 어려움을 겪고 있으며 일부 조사가 완료되어 정확하게보고 된 문제가없는 것 같습니다. 이 성격. 내 데이터 세트에는 3 가지 요인, 즉 name, genotyperegion이 있고 내 응답 변수는 volume입니다. 두 레이어를 사용하여 플롯을 생성하는 코드를 작성했습니다. 문제는 점이 geom_point()fill 요소를 무시하지만 geom_boxplot()의 요소는 무시한다는 것입니다. 결과는 각 값이 name 인 boxplots 집합의 중간에 그려집니다. 여기에 플롯을 구성하는 코드가 있습니다.R - geom_boxplot (ggplot2) 상단에 geom_point 플로팅

meansPlot = ggplot(data=meansData,aes(x=factor(name), y=volume, fill=factor(genotype))) 
meansPlot = meansPlot + 
geom_boxplot() + 
geom_point() + 
facet_wrap(~ region, scales='free') 

재현 가능한 데이터 세트를 만들지 못해서 사과드립니다. 아직 데이터를 시뮬레이션하는 데 능숙하지 않습니다. 쉬운 대답이 없다면 (나는 거기에있을 것으로 기대되며, 아마도 뭔가를 놓친 것입니다.) 질문에 대답하기 위해 시뮬레이션 데이터를 추가 할 것입니다.

감사합니다. (당신이 특별한 shape의를 사용하지 않는 경우)

+0

'fill '은 점 (일반적으로)에는 적용되지 않지만'색상'은 적용되지 않습니다. 따라서 포인트와 함께'color'를 사용해야합니다. 또한, [this] (http://stackoverflow.com/q/10493084/324364)는 좋은 참고 자료 일 수 있습니다 (boxplots에'fill' 만 사용하십시오). – joran

+0

다른 플롯 기호 [** 여기 **] (http://www.cookbook-r.com/Graphs/Shapes_and_line_types/)를 살펴보십시오. 'pch' 21-25에서는 채움 색상을 지정할 수 있습니다. – Henrik

+0

참조 용 조란을 가져 주셔서 감사합니다. 그것은 정말로 유용하게 밝혀졌습니다. – user26665

답변

-1

결국 대부분 해결되었습니다. 이 코드는 geom_point()geom_boxplot() 인라인이되도록 비틀어집니다.

meansPlot = ggplot(data=meansData, aes(x=name, y=volume, fill=genotype, color=genotype)) 
meansPlot = meansPlot + 
geom_point(position=position_jitterdodge(dodge.width=0.9)) + 
geom_boxplot(fill="white", position=position_dodge(width=0.9), alpha=0.5) + 
facet_wrap(~ region, scales='free') 

모두에게 감사드립니다.

1

geom_point()color 속성이 아닌 fill 속성을 사용합니다. 이 방법이 효과가 있는지 확인해보십시오.

meansPlot = ggplot(data=meansData,aes(x=factor(name), y=volume, fill=factor(genotype)), color = factor(genotype)) 
meansPlot = meansPlot + 
geom_boxplot() + 
geom_point() + 
facet_wrap(~ region, scales='free') 
+0

흠, 여전히 작동하지 않습니다. 흥미롭게도, 적어도 포인트 중 일부는 올바른 수평 정렬을 가지고 있습니다. – user26665

+0

또한 플롯이 만들어 질 때마다 경고 수준으로 경고합니다. 요소의 수준이 더 이상 사용되지 않습니다 .' – user26665