2017-10-04 1 views
0

나는 data.frame을 R에 플롯 그래프로 표시했습니다. 여기 드로잉 Pie3D 그래프 in R

library(plotrix) 
piepercent<- round(100*cause_wise$suicides/sum(cause_wise$suicides), 1) 
png(file = "plots/cause suicide.png") 
pie3D(cause_wise$suicides,labels = piepercent,explode = 0.1, 
    main = "Suicide by Gender(in percentages)") 
#legend("topright", cause, cex = 0.8, fill = rainbow(length(cause))) 
dev.off() 

내가 여기 플롯 (38 개) 값이 애 쓰고 data.frame, 내가 piepercent 하나에 큰 영역에 크게 기여하지 않는 그 값을 떠나고 싶지는 2 % 미만을 말한다

코드입니다 . 내가 할 수있는 방법이 있니? 그래프의 모양 방법은 다음과

는 : 하나 개의 범주로 임계 값보다 사람 적은

Pie-Chart

+3

예 범주를 집계 할 수 있습니다 최소 임계 값을 사용합니다. 아마도 이미 그와 관련된 대답이있을 것입니다. 하지만 더 중요한 것은 당신이 원하는 그래프의 종류라고 확신합니까? 3d 파이 (및 일반적으로 파이)는 데이터의 시각적 인 해석이 좋지 않기 때문에 널리 권장되지 않습니다. 막 대형 차트가 더 좋을까요? – dww

+0

모범 사례에 대해 알려 주셔서 감사합니다. 내 결과에 막대 그래프를 사용합니다! – Rawshn

답변

1

집계, 다음 줄거리 :

library(plotrix) 
library(dplyr) 

# dummy data 
cause_wise <- data.frame(suicides = c(2, 3, 1, 50, 1, 50, 45)) 

# sum values where percentage is less than 2% 
plotDat <- cause_wise %>% 
    mutate(grp = ifelse(suicides/sum(suicides) < 0.02, "tooSmall", row_number())) %>% 
    group_by(grp) %>% 
    summarise(suicides = sum(suicides)) %>% 
    select(-grp) %>% 
    ungroup() 

# set label and color(grey for <2%) 
piepercent <- round(100 * plotDat$suicides/sum(plotDat$suicides), 1) 
piecol <- c(rainbow(length(piepercent) - 1), "grey") 

# why oh why 3D pie chart... 
pie3D(plotDat$suicides, 
     labels = piepercent, 
     explode = 0.1, 
     col = piecol, 
     main = "Suicide by Gender (in percentages)") 

enter image description here