ggplot を使用してファセット円グラフを作成しようとしていますが、各スライスの中央にテキストを配置する際に問題に直面しています。
dat = read.table(text = "Channel Volume Cnt
AGENT high 8344
AGENT medium 5448
AGENT low 23823
KIOSK high 19275
KIOSK medium 13554
KIOSK low 38293", header=TRUE)
vis = ggplot(data=dat, aes(x=factor(1), y=Cnt, fill=Volume)) +
geom_bar(stat="identity", position="fill") +
coord_polar(theta="y") +
facet_grid(Channel~.) +
geom_text(aes(x=factor(1), y=Cnt, label=Cnt, ymax=Cnt),
position=position_fill(width=1))
出力:
geom_text
円グラフ スライスの中央に数値ラベルを配置するには、どのパラメータを調整する必要がありますか?
関連する質問は、円グラフがテキストを重ね合わせていることですが、ファセットで大文字と小文字を区別しません。
更新: 上記の質問の Paul Hiemstra のアドバイスとアプローチに従って、コードを次のように変更しました。
---> pie_text = dat$Cnt/2 + c(0,cumsum(dat$Cnt)[-length(dat$Cnt)])
vis = ggplot(data=dat, aes(x=factor(1), y=Cnt, fill=Volume)) +
geom_bar(stat="identity", position="fill") +
coord_polar(theta="y") +
facet_grid(Channel~.) +
geom_text(aes(x=factor(1),
---> y=pie_text,
label=Cnt, ymax=Cnt), position=position_fill(width=1))
私が予想したように、テキスト座標の微調整は絶対ですが、ファセット データ内にある必要があります。