2016-12-29 1 views
3

plotrix에서 gap.barplot() 함수를 사용하고 있으며 일부 값이 매우 작을 때 문제가 발생했습니다. 다음 dataframe 시작 :gap.barplot을 사용하여 바가 0으로 고정되지 않았습니다.

test.df <- data.frame(
perc = c(2.5,7.5,12.5,17.5,22.5,27.5,32.5,37.5,42.5,47.5,52.5,57.5,62.5,67.5,72.5,77.5,82.5,87.5,92.5,97.5), 
count = c(143649,30872,17444,11333,7513,5257,3677,2795,1976,1530,1022,916,862,985,808,339,59,2,1,1) 
) 

다음과 같이 내가 갭 막대 그래프를 작성하는 경우 : 그것을 밖으로 잘보고 온다

library(plotrix) 
gap.barplot(test.df$count, gap=c(38000,136000), xaxlab=test.df$perc, xtics=test.df$perc, ytics=c(0:30)*5000, col="white", las=1) 

.

enter image description here

그러나, 나는 다음과 같은 코드를 사용하여 1000으로 값을 "계산"분할하려는 경우 :

gap.barplot(test.df$count/1000, gap=c(38,136), xaxlab=test.df$perc, xtics=test.df$perc, ytics=c(0:30)*5, col="white", las=1) 

바는 0

enter image description here

에 고정되지 않습니다

"count"값이 모두 3000보다 큰 경우 (또는 새 눈금에서 3)는 0보다 큰 경우에도 아래쪽을 가리키고 있습니다. 어떤 이유로 든 막대는 0이 아닌 3에 고정되어 있습니다. 왜 이런 일이 일어나고 그것을 해결할 수있는 이유를 아는 사람이 있습니까?

답변

1

방금 ​​살펴 보았습니다. 새 버전의 패키지에서 문제가 해결 된 것 같습니다. devtools pacakge에서 다음 명령을 사용하여 plotrix를 설치하면 올바른 플롯을 생성 할 수있었습니다.

install_github("cran/plotrix") 

enter image description here

바닥 수평 절단이 코드 업데이트하기 전에 다음 코드를 사용해 설정된 것처럼 그것은 나타납니다

botgap <- ifelse(gap[1] < 0, gap[1], xlim[1]) 

최근 다음에 업데이트되었습니다

botgap<-ylim[1] 

예를 들어, 나는 botga를 계산하는 패키지를보고있었습니다. p = 2.5이므로 (2.5 이하의 모든 값은 음수 막대로 나타남) 0으로 설정하려고했습니다. 이전 버전의 패키지에서 botgap의 값을 무시할 방법이 없으므로 가능한 경우 최신 버전. 또 다른 옵션은 올바른 코드로 사용자가 정의한 새 함수를 만드는 것입니다.

직접 확인하려면 R 콘솔에서 plotrix :: gap.barplot을 사용하여 다운로드 한 기능을보고 github here의 코드를 최신 버전과 비교할 수 있습니다.

+0

감사합니다. 업데이트 된 코드는 나를 위해 작동합니다. – user1399932

관련 문제