ヒストグラムに度数を表示する
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!  

本blogに対するアドバイス、ご指摘等は データ分析勉強会 または GitHub まで。

CC BY-NC-SA 4.0 , Sampo Suzuki