こんにちは,shun(@datasciencemore)です!!
今回は,geom_bar:棒グラフについて学習していきます.
geom_barは,棒グラフを作成するためのメソッドです.
イメージとしてはこのようになります.
データフレームに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 27 28 29 |
# パッケージ読み込み 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') # speciesでグルーピングして各列の平均値を算出 df_group = df.groupby("species").mean().reset_index() |
1.棒グラフの基本
棒グラフは,カテゴリの数値の大きさを比較するためのグラフです.
棒グラフにすることで,各カテゴリの数値の大きさが明確になります.
今回は,例としてspecies内の各カテゴリ(setosa, versicolor, virginica)に対して,sepal_lengthの平均を算出し,それらを棒グラフにすることを考えます.
左のデータフレームが各カテゴリに対するsepal_lengthの平均値を示しております.
このデータフレームをグラフにしたものが棒グラフです.
棒グラフの横軸がspecies,縦軸がsepal_lengthです.
データフレームと棒グラフは,同じ色のところが対応していますので,ご確認ください.
このように棒グラフにすると各カテゴリの数値の大きさを一目で比較することが出来ます.
今回の例だと
変数sepal_lengthの平均は,
setosa, versicolor, virginicaの順に大きくなっていることがわかります.
2.コーディング
1 2 3 4 5 6 |
# 各カテゴリに対するsepal_lengthの平均値の棒グラフ ggplot( df_group, aes(x="species", y="sepal_length") ) +\ geom_bar(stat = "identity") |
1 2 3 4 5 6 |
# 各カテゴリに対するsepal_lengthの平均値の棒グラフ(fillを使用) ggplot( df_group, aes(x="species", y="sepal_length", fill="species") ) +\ geom_bar(stat = "identity", alpha=0.6) |
1 2 3 4 5 6 7 |
# 各カテゴリに対するsepal_lengthの平均値の棒グラフ(縦軸と横軸を入れ替え) ggplot( df_group, aes(x="species", y="sepal_length") ) +\ geom_bar(stat = "identity") +\ coord_flip() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# sepal_legth以外の平均値も比較する. # df_groupをlong型に変換 df_group_long = df_group.melt( id_vars="species", value_vars=["sepal_length", "sepal_width", "petal_length", "petal_width"] ) # 各カテゴリに対する全列の平均値の棒グラフ ggplot( df_group_long, aes(x="species", y="value", fill="species") ) +\ geom_bar(stat = "identity") +\ coord_flip() +\ facet_wrap("variable") |
まとめ
今回は,棒グラフについて学習しました.
棒グラフは,カテゴリの数値の大きさを比較するためのグラフです.
plotnineでは,geom_barとすればOKです.
次回は,散布図について学習します.
それでは,お疲れさまでした!!
次回
-
【plotnine】geom_point:散布図【可視化】
こんにちは,shun(@datasciencemore)です!! 今回は,geom_point:散布図について学習していきます. geom_pointは,散布図を作成するためのメソッドです. イメージ ...
続きを見る