ヒストグラムの各バーに、そのビン内のカウント数またはそのビン内の合計カウントのパーセントのいずれかでラベルを付けたいと思います。これを行う方法があるはずだと確信していますが、私はそれを見つけることができませんでした。このページには、SASヒストグラムが基本的に私がやろうとしていることを行うヒストグラムがいくつかあります(ただし、サイトにはRバージョンがないようです): http:/ /www.ats.ucla.edu/stat/sas/faq/histogram_anno.htm
可能であれば、必要に応じて、ラベルをバーの上またはバーの内側のどこかに配置できる柔軟性があると便利です。
ベースのRプロット機能を使用してこれを実行しようとしていますが、ggplot2およびラティスでもこれを実行する方法に興味があります。
カウント数を含めるには、_labels=TRUE
_を設定するだけです。
以下の例は、 hist()
ヘルプページの例からわずかに変更されています。
_hist(islands, col="gray", labels = TRUE, ylim=c(0, 45))
_
パーセンテージの取得はもう少し複雑です。 この同様の質問 への答えでもう少し詳しく説明するように、hist()
への呼び出しによって返されたオブジェクトを直接操作することを知っている唯一の方法です。
_histPercent <- function(x, ...) {
H <- hist(x, plot = FALSE)
H$density <- with(H, 100 * density* diff(breaks)[1])
labs <- paste(round(H$density), "%", sep="")
plot(H, freq = FALSE, labels = labs, ylim=c(0, 1.08*max(H$density)),...)
}
histPercent(islands, col="gray")
_
バープロットまたはヒストグラムのバーの上部に数字を追加すると、バーの視覚的解釈がゆがみ、上部近くのバーの内側にラベルを配置しても、ファジートップエフェクトが作成され、視聴者がグラフを適切に解釈しにくくなります。数値に関心がある場合、適切なテーブルを作成するだけでなく、レイアウトが不十分なテーブルが作成されます。
数値を追加する必要があると本当に感じている場合は、バーの下または上マージンに沿って配置すると、比較しやすくなり、グラフの視覚的な解釈を妨げないように整列することができます。ラベルはtext
またはmtext
関数を使用してベースグラフに追加でき、xの位置はhist
関数からの戻り値にあります。プロットの高さは、grconvertY
関数を使用して計算できます。