Text Update: 04/26, 2019 (JST)
ヒストグラムはデータの分布傾向を見るのに便利なグラフですが度数が読みにくい場合があります。このような場合にはggplot2::geom_text
関数を用いて度数を描くことで解決できます。
Packages and Datasets
本ページではR version 3.5.3 (2019-03-11)の標準パッケージ以外に以下の追加パッケージを用いています。
Package | Version | Description |
---|---|---|
ggplot2 | 3.1.1 | Create Elegant Data Visualisations Using the Grammar of Graphics |
tidyverse | 1.2.1 | Easily Install and Load the ‘Tidyverse’ |
また、本ページでは以下のデータセットを用いています。
Dataset | Package | Version | Description |
---|---|---|---|
iris | datasets | 3.5.3 | Edgar Anderson’s Iris Data |
度数を表示する
度数を表示するにはggplot2::geom_text
関数を使います。度数は..count..
というオブジェクトに格納されていますので、label
引数に..count..
を指定してください。また、ggplot2::geom_histgram
と同じ階級を指定することもお忘れなく。
iris %>%
ggplot2::ggplot(ggplot2::aes(x = Petal.Length)) +
ggplot2::geom_histogram(breaks = breaks) +
ggplot2::geom_text(ggplot2::aes(label = ..count..),
stat = "bin", vjust = -0.5, breaks = breaks,
color = "darkred")
しかし、上のグラフのように度数\(0\)が多いとつくしが生えているようで見難い場合があります。このような場合はdplyr::na_if
関数を用いて度数(..count..
)の\(0\)をNA
に変換することで\(0\)の表示を消すことができます。
iris %>%
ggplot2::ggplot(ggplot2::aes(x = Petal.Length)) +
ggplot2::geom_histogram(breaks = breaks) +
ggplot2::geom_text(ggplot2::aes(label = dplyr::na_if(..count.., 0)),
stat = "bin", vjust = -0.5, breaks = breaks,
colour = "darkred")
Enjoy!