>100 Views
September 06, 23
スライド概要
本セクションでは、Section 20で作成した「id_pos11」を使って、ヒストグラムを描いていきます。
ヒストグラムとは、対象のデータを区間ごとに区切った度数分布表を、棒グラフに似た図で表現したグラフのことです。データの分布を見るために用いられます。
横軸(X軸)の数値を「階級」と呼び、データを区切った区間を表します。縦軸(Y軸)の数値は、「度数」と呼び、各区間に含まれるデータの数量を表します。
それらを実現するプログラムは下記の6つです。
52 sns.histplot(data=データ名, x=“列名")
53 sns.histplot(data=データ名1, x=“列名")
sns.histplot(data=データ名2, x=“列名")
54 color=‘色’
55 plt.legend(labels=[“A", “B", “C"])
56 alpha=数字
57 sns.histplot(data=データ名, x=“列名1”, hue=”列名2“)
1st STEP同様、動画のテキスト、追加情報は下記のブログを参考にしてください!
■この動画のブログ
●データサイエンス チュートリアル
https://tutorial4datascience.blogspot.com/
■参考URL
●seabornでは、matplotlibの色指定の方法を使います。詳細は、下記を参照してください。
https://matplotlib.org/2.0.2/examples/color/named_colors.html
1 2nd STEP 集計とグラフ描画 Section 21 ヒストグラム(1) 52 sns.histplot(data=データ名, x=“列名") 53 sns.histplot(data=データ名1, x=“列名") sns.histplot(data=データ名2, x=“列名") 54 color=‘色’ 55 plt.legend(labels=[“A", “B", “C"]) 56 alpha=数字 57 sns.histplot(data=データ名, x=“列名1”, hue=”列名2“)
2 Section 21 ヒストグラム 1.ヒストグラム ヒストグラムとは、対象のデータを区間ごとに区切った度数分布表を、棒グラフに似た図で 表現したグラフのことです。データの分布を見るために用いられます。 横軸(X軸)の数値を「階級」と呼び、データを区切った区間を表します。 縦軸(Y軸)の数値は、「度数」と呼び、各区間に含まれるデータの数量を表し ます。 度 数 300 250 200 150 100 50 0 10 20 30 階 級 40 50 60
3 Section 21 ヒストグラム 2.histplot ヒストグラムを描くためには、「sns.histplot」を使うことにより、度数分布表を作ることなく、い きなりグラフを描くことができます。とっても便利です。 52 sns.histplot(data=データ名, x=“列名") たった1行のコードですから、まずは上記でグラフを描いてみて、その後、Section 17の㊴ ~㊸で、グラフの体裁を整えましょう。
4 Section 21 ヒストグラム 3. histplotは、重ねて色を指定することも可能 「sns.histplot」は、下記のように続いて書くと、2つのヒストグラムを重ねて書くことができます。 53 sns.histplot(data=データ名1, x=“列名") sns.histplot(data=データ名2, x=“列名") それぞれの( )内に、「,」に続けて、下記の記述をすればグラフの色を指定することもできます。 54 color=‘色’ 色の例は参考1をご覧ください。 また、複数のグラフを重ねた場合、どのグラフがどの国のグラフかわかるように凡例を追加すること もできます。 55 plt.legend(labels=[“A", “B", “C"]) 「labels=」に続く、ラベルの順番は、「sns.histplot」で書いた順番と一致するようにします。
5 Section 21 ヒストグラム 参考1 seabornでは、matplotlibの色指定の方法を使います。詳細は、下記を参照してください。 https://matplotlib.org/2.0.2/examples/color/named_colors.html 主要な色は、一文字で下記のように指定できます。 b:青 (Blue) g:緑 (Green) r:赤 (Red) c:シアン (Cyan) m:マゼンタ (Magenta) y :黄 (Yellow) k :黒 (Black) w:白 (White) マゼンタは、明るく鮮やかな赤紫色のことで、インク・トナーにも使われています。
6 Section 21 ヒストグラム 4. histplotでの透明度の指定 グラフを重ねると、手前のグラフしか見えなくなります。そこで、活躍するのが、グラフを塗りつぶ した色を透明にする方法。( )内に、カンマに続けて下記のように透明度を指定します。 56 alpha=数字 数字の範囲は 0 ~ 1 で、値が小さくなると、グラフはより透明になり、 デフォルトは1(すなわち透明度無) です。
7 Section 21 ヒストグラム 5. heu 「sns.histplot」の( )内に、「,」に続けて「hue=“列名”」を追加すると、52のように 「sns.histplot」を続いて書かなくとも、1行で重ねたグラフを描くことができます。 57 sns.histplot(data=データ名, x=“列名1”, hue=”列名2“) 「hue」は、色分けという意味を持ち、「列名1」 の個数を「列名2」に示されたサブグループの 個数に分け、グループを色分けすることができます。seabornの便利な機能の一つです。
8 Section 21 ヒストグラム 52 sns.histplot(data=データ名, x=“列名") まずは、Section 20で作成した「id_pos11」(各価格帯の個数が多い上位3カ国)全体のヒ ストグラムを描きましょう。x軸には「価格帯」指定します。y軸は指定してしなくとも、 「価格帯」の 個数(軸名「Count」 )が自動的に算出、描画されます。
9 Section 21 ヒストグラム 51 データ名.query( ‘列名 == [“文字名1”, “文字名2”] ‘) 次に、上位3カ国である「UnitedKingdom」、「Netherlands」、「EIRE」のそれぞれの データを作ります。
10 Section 21 ヒストグラム 53 sns.histplot(data=データ名1, x=“列名") sns.histplot(data=データ名2, x=“列名") 54 color=‘色’ 55 plt.legend(labels=[“A", “B", “C"]) 次に、 52、53 を用いて「UnitedKingdom_price」、「Netherlands_price」、 「EIRE_price」のデータを用いたヒストグラムを描くプログラムを縦に並べて描きましょう。 グラフの色は、上から順に、b(青)、g(緑)、r(赤)をしてします。 こうすることにより、「sns.histplot」では、3つのグラフを重ねて描画することができます。 また、複数のグラフを重ねましたので、どれがどの国のグラフかわかるように54を用いて 凡例を追加します。 「labels=」に続く、ラベルの順番は、「sns.histplot」で書いた順番と一致するようにします。
11 Section 21 ヒストグラム
12 Section 21 ヒストグラム 「UnitedKingdom」と 「Netherlands」 、「EIRE」の数値の差が大きいので、y軸の範囲を 小さくしてみます。色が重なり、凡例と異なった色のグラフになってしまいました。
13 Section 21 ヒストグラム 56 alpha=数字 透明度を指定することによって、 凡例に近い色のグラフが描けま した。 何度か、色と透明度を変えて最 適なグラフを見つける必要があり ます!
14 Section 21 ヒストグラム 57 sns.histplot(data=データ名, x=“列名1”, hue=”列名2“) グラフを3つ重ねなくとも、 「hue」を使うと1行で上位3カ 国のグラフを国別に色分けする ことができます。 「列名1」には、度数を算出する 対象の列名を、「列名2」には 色分けする対象の列名を記入 します。 この場合は、凡例とグラフの色 が異なっていて、わかりにくいで すね。しかし、全体の傾向をつ かむためには、たった1行で済 みますので、とても便利です。 最終的なレポートを描く場合は、 次のセクションで解説する積上 グラフを使うことも可能です。