こんにちは,shun(@datasciencemore)です!!
今回は,geom_histogram:ヒストグラムについて学習していきます.
geom_histogramは,ヒストグラムを作成するためのメソッドです.
イメージとしてはこのようになります.

データフレームにgeom_histogramを適用するとヒストグラムが作成されます.
0.準備
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# パッケージ読み込み import pandas as pd import numpy as np import seaborn as sns from plotnine import * from plotnine.themes import * import warnings # データフレームの表示行数を指定 pd.set_option('display.max_rows', 5) # 図のサイズ調整 theme_set(theme( figure_size=(4.2, 3.6), axis_title=element_text(size=15), axis_text=element_text(size=15) ) ) # 警告の非表示 warnings.filterwarnings('ignore') # データ読み込み df = \ sns\ .load_dataset('iris') |
1.ヒストグラムの基本

ヒストグラムは,連続値である1変数の分布を確認するためのグラフです.
ヒストグラムにすることで,変数の出やすい値,出にくい値,平均値,ばらつきなどが明確になります.
ヒストグラムは,縦軸に度数を,横軸に階級をとったグラフになります.
階級というのは,数値の範囲のこと,
度数というのは,階級の範囲のデータが何個あるかという意味です.
そして,この階級と度数の組み合わせを表にしたものを度数分布表といいます.
今回は,例としてirisデータの連続値であるsepal_lengthをヒストグラムにすることを考えます.
sepal_lengthの度数分布表はこのようになります.
この度数分布表の意味は,
sepal_lengthという変数は,
3.5~4.5の範囲には,4このデータ,
4.5~5.5の範囲には,55このデータ,
5.5~6.5の範囲には,60このデータ,
6.5~7.5の範囲には,22このデータ,
7.5~8.5の範囲には,5このデータ
がある.
ということを示しています.
この度数分布表をグラフにしたものがヒストグラムです.
度数分布表とヒストグラムは,同じ色のところが対応していますので,ご確認ください.
このようにヒストグラムにすると変数の分布の傾向がよくわかります.
今回の例だと
変数sepal_lengthは,
4.5~5.5,5.5~6.5の範囲で出やすい
3.5~4.5, 7.5~8.5で出にくい.
平均値は6程度で平均から±1程度ばらついている
などの情報が一目みるだけでわかります.
なお,階級の数をビン数,階級の幅をビン幅と言います.
今回の例だとビン数は5でビン幅が1となります.
2.コーディング
1 2 3 4 5 6 |
# sepal_lengthのヒストグラム ggplot( df, aes(x="sepal_length") ) +\ geom_histogram() |

1 2 3 4 5 6 |
# sepal_lengthのヒストグラム ビン数を10 ggplot( df, aes(x="sepal_length") ) +\ geom_histogram(bins=10) |

1 2 3 4 5 6 |
# sepal_lengthのヒストグラム ビン幅を1 ggplot( df, aes(x="sepal_length") ) +\ geom_histogram(binwidth=1) |

1 2 3 4 5 6 |
# カテゴリごと出力(単数) ggplot( df, aes(x="sepal_length", fill="species") ) +\ geom_histogram(position="identity", alpha=0.6) |

alphaは透過度を示しており,0~1で設定します.
0に近いほど,透明に近づきます.
1 2 3 4 5 6 7 |
# sepal_lengthのヒストグラム カテゴリごと出力(複数) ggplot( df, aes(x="sepal_length") ) +\ geom_histogram() +\ facet_wrap("species") |

3.geom_density:密度曲線

1変数(連続値)の分布の傾向を確認する際,ヒストグラムだけでなく,密度曲線も良く使用されます.
密度曲線は,geom_densityを使用すれば作成できます.
密度曲線は,ヒストグラムをもとに分布の形を推定したものです.
密度曲線を見れば,指定した変数の数値の出やすさがわかります.
例えば,この例だと6付近がでやすく,4,8付近はでにくいということがわかります.
1 2 3 4 5 6 |
# sepal_lengthの密度曲線 ggplot( df, aes(x="sepal_length") ) +\ geom_density() |

1 2 3 4 5 6 7 |
# sepal_lengthの密度曲線 カテゴリごと出力(複数) ggplot( df, aes(x="sepal_length") ) +\ geom_density() +\ facet_wrap("species") |

まとめ
今回は,ヒストグラムについて学習しました.
ヒストグラムは連続値である1変数の分布を確認するためのグラフです.
また,ヒストグラムと同様に,密度曲線も大事です.
plotnineでは,
geom_histogram:ヒストグラム
geom_density:密度曲線
とすればOKです.
次回は,棒グラフについて学習します.
それでは,お疲れさまでした!!
次回
-
-
【plotnine】geom_bar:棒グラフ【可視化】
こんにちは,shun(@datasciencemore)です!! 今回は,geom_bar:棒グラフについて学習していきます. geom_barは,棒グラフを作成するためのメソッドです. イメージとし ...
続きを見る