21

棒グラフ内の頻度を表示しようとしています...まあ、グラフのどこかにそれらが必要です:棒の下、棒の中、棒の上、または凡例領域。そして、私はそれがでできることを思い出します(私は間違っているかもしれません)ggplot2。これはおそらく簡単なことです...少なくともそれは簡単なようです。コードは次のとおりです。

p <- ggplot(mtcars)
p + aes(factor(cyl)) + geom_bar()

周波数をグラフに埋め込むことができる可能性はありますか?

4

5 に答える 5

24

geom_texttextベースグラフィックスからの類似物です:

p + geom_bar() + stat_bin(aes(label=..count..), vjust=0, 
                          geom="text", position="identity")

ラベルの y 位置を調整したい場合は、y=内で美学を使用できますstat_bin。たとえば、y=..count..+1バーの 1 単位上にラベルを配置します。

geom_text上記は、stat="bin"内部で使用する場合にも機能します。

于 2010-03-31T13:35:37.290 に答える
4

それを行うのは難しい方法です。より良いアプローチがあると確信しています。

ggplot(mtcars,aes(factor(cyl))) + 
geom_bar() + 
geom_text(aes(y=sapply(cyl,function(x) 1+table(cyl)[names(table(cyl))==x]),
label=sapply(cyl,function(x) table(cyl)[names(table(cyl))==x])))
于 2010-03-31T12:56:04.930 に答える
1

別の情報を追加したい場合は、次のように機能します。

ggplot(mydata, aes(x=clusterSize, y=occurence)) +
geom_bar() + geom_text(aes(x=clusterSize, y=occurence, label = mydata$otherinfo))
于 2010-06-07T21:51:16.713 に答える
-1

ggplot2 に制限されていない場合は、ベース グラフィックスの ?text または plotrix パッケージの ?boxed.labels を使用できます。

于 2010-03-31T12:15:13.927 に答える