いくつかのオプションがあります。ポイントがパーセンテージカウントでラベル付けされていることを考えると、凡例は必要ないと思います。
1つのオプションはstat_sum()
、ラベルの美学と「テキスト」ジオメトリを含む別の関数を追加することです。例えば:
library("ggplot2")
ggplot(diamonds, aes(x = cut, y = clarity, group = 1)) +
stat_sum(geom = "point", show.legend = FALSE) +
stat_sum(aes(label = paste(round(..prop.. * 100, 2), "%", sep = "")),
size = 3, hjust = -0.4, geom = "text", show.legend = FALSE)
または、ポイントの必要がない場合があります。ラベルはすべての作業を行うことができます-場所とサイズを表示します:
ggplot(diamonds, aes(x = cut, y = clarity, group = 1)) +
stat_sum(aes(label = paste(round(..prop.. * 100, 2), "%", sep = "")),
geom = "text", show.legend = FALSE) +
scale_size(range=c(2, 8))
ggplotの外部でサマリーテーブルを作成する方が簡単な場合があります。
library(plyr)
df = transform(ddply(diamonds, .(cut, clarity), "nrow"),
percent = round(nrow/sum(nrow)*100, 2))
ggplot(df, aes(x = cut, y = clarity)) +
geom_text(aes(size = percent, label = paste(percent, "%", sep = "")),
show.legend = FALSE) +
scale_size(range = c(2, 8))
