2016-08-04 3 views
0

저는 R이 (가) 새롭고 ggplot2입니다. ggplot2과 협력 중이고 check_overlap=TRUE이 내 geom_text에 영향을 미치지 못합니다. - 그들은 대부분의 시간을 중복Check_overlap이 ggplot2에서 작동하지 않습니다.

require(ggplot2) 
LV_plot = ggplot(plotFrame,aes(x=Age,y=fit)) 
#... plotting other things 
my_text = geom_text(data=myDataFrame,mapping=aes(x=Age,y=myDataFrame$firstVolume, label=paste(myDataFrame$firstVolume)),angle=70,size=6,check_overlap=TRUE) 
LV_scatterNorm = geom_point(data=myDataFrame,aes(x=Age,y=firstVolume),size=4.0) 
LV_lineNorm = geom_line(data=myDataFrame,aes(x=Age,y=firstVolume),size=1.2) 

이 TRUE는 중복에 영향을주지 않습니다 = 여러 텍스트 요소 만 check_overlap를 만듭니다 여기 내 코드의 예입니다. 여기

내 데이터입니다 :

myDataFrame :

  firstVolume Age 
1   26502.54 56 
2   28335.54 57 

plotFrame :

Age  fit  se  sd 
1 43 10481.39 2555.560 16036.31 
2 44 11164.03 2390.339 16036.31 
3 45 11849.98 2225.044 16036.31 
4 46 12537.78 2063.854 16036.31 
5 47 13225.95 1910.410 16036.31 
6 48 13913.05 1767.397 16036.31 
7 49 14597.60 1636.212 16036.31 
8 50 15278.15 1516.911 16036.31 
9 51 15950.26 1408.477 16036.31 
10 52 16612.87 1315.257 16036.31 
...etc. 

내 결과는 다음과 같습니다

enter image description here

이것은 R 3.1.1에 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

은 (내가 ggrepel를 설치하려고하지만 ggrepel는 R.의이 버전을 사용할 수없는 것 같다)

감사합니다!

+1

예제 데이터와 재현 할 수있는 예제를 제공해 주시겠습니까? http://stackoverflow.com/help/mcve –

+0

ggplot2의 최신 버전을 사용하고 있습니까? 귀하의 예제는 나를 위해 작동하여 레이블 중 하나를 제거합니다. – aosmith

+0

R의 최신 버전을 사용하지 않아 최신 버전이 아닐 수도 있습니다. check_overlap은 비교적 새로운 기능입니까? – Sarah

답변

1

예제 데이터가 없으므로 패키지의 예제 데이터를 사용하여이 작업을 시도했습니다. 따라서 check_overlap이 정상적으로 작동합니다.

레이블의 크기를 줄여서 중복을 피할 수없는 경우가 있습니다. 이 문제가 해결되지 않고 내가 따라 내 대답을 업데이트 할 경우

require(ggplot2) 
data("mtcars") 
mtcars 
p <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) 
p 

p + geom_text() 
# Avoid overlaps 
p + geom_text(check_overlap = TRUE) 

는 재현 예를 제공하십시오.

+0

답변 해 주셔서 감사합니다! 내 질문에 예제 코드를 포함하도록 업데이트했습니다. – Sarah

관련 문제