Сокращение десятичной дроби внутри диаграммы стека

#r #ggplot2

Вопрос:

Это мой сюжет, который сейчас визуализируется сюжет

Средний, где я вижу большую длину чисел после десятичной точки.

Как его сократить. Я попробовал это с помощью весов и т. Д., Но, похоже, это не работает.

Мой код для создания этого

 c1 <- read.csv("figure1/Cosmic/EF_TF_Non_EF_TF_cosmic_class.txt",sep = "t")
names(c1)
#A1$Tier1 <- paste('Tier',A1$Tier)
c1$Tier_class <- paste('Tier_',c1$Tier)

#df_calculated
#df_calculated$Tier <- gsub('\s ', '', df_calculated$Tier_class)

C2 <- c1 %>% dplyr::select(Tier_class,Family)
C2$Tier_class <- gsub('\s ','', C2$Tier_class)
c3 <- C2 %>%
  mutate_if(is.character, factor)


cnt1 <- c3 %>% group_by(Family, Tier_class) %>% summarise(n=n())
class(cnt1)
pcnt <- do.call(rbind,
                lapply(split(cnt1, cnt1$Family), function(x){x[x$Tier_class=='Tier_1', 'n']/sum(x$n)})
)
pcnt
names(pcnt) <- 'pcnt'

pcnt$Family <- rownames(pcnt)
pcnt$Tier_class='Tier_1'

pcnt2 <- do.call(rbind,
                 lapply(split(cnt1, cnt1$Family), function(x){x[x$Tier_class=='Tier_2', 'n']/sum(x$n)})
)
names(pcnt2) <- 'pcnt'

pcnt2$Family <- rownames(pcnt2)
pcnt2$Tier_class='Tier_2'


KS <- merge(c3, rbind(pcnt, pcnt2))

KS$labelpos <- ifelse(KS$Tier_class=='Tier_1',
                      1 - KS$pcnt/2, KS$pcnt/2)


gg <- ggplot(data=KS, aes(x=Family, fill=Tier_class)) 
gg <- gg   geom_bar(position="fill")
gg <- gg   geom_text(aes(label = paste0(100*pcnt,"%"),y=labelpos),size = 3)
gg <- gg   scale_y_continuous(labels = scales::percent)

print(gg)
 

Данные, которые я использовал для составления окончательного графика

Канзас

Любое предложение было бы действительно полезно

Обновить

Удалось исправить с помощью этого

 gg <- gg   geom_text(aes(label = paste0(round(100*pcnt),"%"),y=labelpos),size = 3)
 

ОБНОВЛЕННЫЙ РИС
введите описание изображения здесь

Комментарии:

1. Не стесняйтесь публиковать свое обновление в качестве ответа

2. Другим вариантом было бы использовать scales::percent(pcnt)

3. @teunbrand обновил код..обновит фиг