Рассмотрим следующие data.frame
и chart:
library(ggplot2)
library(scales)
df <- data.frame(L=rep(LETTERS[1:2],each=4),
l=rep(letters[1:4],2),
val=c(96.5,1,2,0.5,48,0.7,0.3,51))
# L l val
# 1 A a 96.5
# 2 A b 1.0
# 3 A c 2.0
# 4 A d 0.5
# 5 B a 48.0
# 6 B b 0.7
# 7 B c 0.3
# 8 B d 51.0
ggplot(df,aes(x=L,y=val,fill=l)) +
geom_bar(stat="identity") +
geom_text(aes(label=percent(val/100)),position=position_stack(vjust =0.5))
Некоторые метки трудно читать из-за небольших значений. Я бы хотел дрожать по вертикали. Я знаю position_jitter
но он не кажется совместимым со сложной гистограммой.