2017-12-23 12 views
2

데이터 포인트가 색상으로 구분 된 산점도가 있습니다. 두 개 이상의 데이터 요소가 겹치면 하나의 색상 만 표시됩니다 (둘 중 하나가 범례에 있음). 이 데이터 포인트 각각은 항목을 나타내며 어떤 항목이 눈금의 각 지점에 해당하는지 보여줄 필요가 있습니다. 나는 R을 사용하고있다 (v.3.3.1). 누구든지 산점도의 각 지점에 여러 항목이 있음을 보여줄 수있는 방법에 대해 제안 사항이 있습니까? 미리 감사드립니다. 중복되는 두 개 이상의 데이터 포인트 시각화 (ggplot R)

pdf('pedplot.pdf', height = 6, width = 10) 
p3 <- ggplot(data=e4, aes(x=e4$domain, y=e4$ped)) + geom_point(aes(color = 
    e4$Database_acronym), size = 3, shape = 17) + 
    labs(x = "Domains", y = "Proportion of Elements per Domain", color = "Data 
    Sources") + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) 
p3 dev.off(); 
+1

데이터 프레임 이름을'aes '안에 다시 쓰는 것은 불필요하며 바람직하지 않습니다. 따라서 코드는 다음과 같아야합니다 :'ggplot (data = e4, aes (x = domain, y = ped)) + geom_point (aes (color = Database_acronym), size = 3, shape = 17)' – eipi10

+0

질문 표시 중입니다. 재현 가능한 예를 놓치기 때문에 "주제를 벗어났습니다". 아래 답변 중 몇 가지는 재현 가능한 예제가 있습니다. 나는 그 중 하나를 귀하의 질문에 복사 하시길 바랍니다. –

답변

0

시도 geom_point(aes(color = e4$Database_acronym), position = "jitter", size = 3, shape = 17).

이렇게하면 분산 형 플롯에 약간의 무작위 변형이 추가되어 오버 플로팅을 방지 할 수 있습니다.

2

포인트를 지터로 만들 수 있습니다. 즉, 겹침 (보통 가장 많이 사용되는 옵션)을 제거하기 위해 약간의 노이즈가 추가됩니다. 또 다른 옵션은 서로 마주 보게 될 때 마커가 보이도록 선택된 다른 마커 모양 (작은 크기 조정 포함)을 사용하는 것입니다. 두 개 또는 세 개의 다른 마커 유형 만있는 경우 작동합니다. 세 번째 옵션은 두 가지 또는 세 가지 색상/크기가있는 경우에만 각 색상의 크기를 변경하는 것입니다. 크기 차이가 혼란 스러울 수 있습니다. 동일한 좌표로 동일한 색상의 여러 점을 가질 수 있다면 위의 세 가지 옵션 중에서 지터 만 있으면 분명하게 나타납니다. 어떤 경우에는 여기에서 각 방법의 예는 다음과 같습니다 언급 한 바와 같이

dat = data.frame(x=1:5, y=rep(1:5,3), group=rep(LETTERS[1:3],each=5)) 
theme_set(theme_bw()) 

# Jitter 
set.seed(3) 
ggplot(dat, aes(x,y, colour=group)) + 
    geom_point(size=3, position=position_jitter(h=0.15,w=0.15)) 

# Vary the marker size 
ggplot(dat, aes(x,y, colour=group,size=group)) + 
    geom_point() + 
    scale_color_manual(values=c("red","blue","orange")) + 
    scale_size_manual(values=c(5,3,1)) 

# Vary the marker shape (plus a small size adjustment) 
ggplot(dat, aes(x,y, colour=group, size=group, shape=group)) + 
    geom_point(stroke=1.5) + 
    scale_colour_manual(values=(c("black", "green", "orange"))) + 
    scale_shape_manual(values=c(19,17,4)) + 
    scale_size_manual(values=c(4,3,3)) 

enter image description here

2

별도로이나 지터에 추가는 here, 당신은 또한 부분적으로 투명 점하게 고려할 수 :

linecolors <- c("#714C02", "#01587A", "#024E37") 
fillcolors <- c("#9D6C06", "#077DAA", "#026D4E") 

# partially transparent points by setting `alpha = 0.5` 
ggplot(mpg, aes(displ, cty, colour = drv, fill = drv)) + 
    geom_point(position=position_jitter(h=0.1, w=0.1), 
      shape = 21, alpha = 0.5, size = 3) + 
    scale_color_manual(values=linecolors) + 
    scale_fill_manual(values=fillcolors) + 
    theme_bw() 

enter image description here