---
title: #23 ヒストグラム（１）
tags: 
author: [猫のタロー](https://convert.docswell.com/user/Cat_Taro)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/PEXD38987X.jpg?width=480
description: 本セクションでは、Section 20で作成した「id_pos11」を使って、ヒストグラムを描いていきます。  ヒストグラムとは、対象のデータを区間ごとに区切った度数分布表を、棒グラフに似た図で表現したグラフのことです。データの分布を見るために用いられます。  横軸(X軸)の数値を「階級」と呼び、データを区切った区間を表します。縦軸(Y軸)の数値は、「度数」と呼び、各区間に含まれるデータの数量を表します。  それらを実現するプログラムは下記の６つです。  52　sns.histplot(data=データ名, x=“列名&quot;)　  53　sns.histplot(data=データ名1, x=“列名&quot;)　 　　sns.histplot(data=データ名2, x=“列名&quot;)　  54  color=‘色’  55　plt.legend(labels=[“A&quot;, “B&quot;, “C&quot;])   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
published: September 06, 23
canonical: https://convert.docswell.com/s/Cat_Taro/ZRX8R3-2023-09-06-183217
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/PEXD38987X.jpg)

1
2nd STEP 集計とグラフ描画
Section 21 ヒストグラム（１）
52 sns.histplot(data=データ名, x=“列名&quot;)
53 sns.histplot(data=データ名1, x=“列名&quot;)
sns.histplot(data=データ名2, x=“列名&quot;)
54 color=‘色’
55 plt.legend(labels=[“A&quot;, “B&quot;, “C&quot;])
56 alpha=数字
57 sns.histplot(data=データ名, x=“列名1”, hue=”列名2“)


# Page. 2

![Page Image](https://bcdn.docswell.com/page/3EKXYKPL7D.jpg)

2
Section 21 ヒストグラム
１．ヒストグラム
ヒストグラムとは、対象のデータを区間ごとに区切った度数分布表を、棒グラフに似た図で
表現したグラフのことです。データの分布を見るために用いられます。
横軸(X軸)の数値を「階級」と呼び、データを区切った区間を表します。
縦軸(Y軸)の数値は、「度数」と呼び、各区間に含まれるデータの数量を表し
ます。
度
数
300
250
200
150
100
50
0
10
20
30
階 級
40
50
60


# Page. 3

![Page Image](https://bcdn.docswell.com/page/L7359ZX6E5.jpg)

3
Section 21 ヒストグラム
２．histplot
ヒストグラムを描くためには、「sns.histplot」を使うことにより、度数分布表を作ることなく、い
きなりグラフを描くことができます。とっても便利です。
52 sns.histplot(data=データ名, x=“列名&quot;)
たった1行のコードですから、まずは上記でグラフを描いてみて、その後、Section 17の㊴
～㊸で、グラフの体裁を整えましょう。


# Page. 4

![Page Image](https://bcdn.docswell.com/page/87DDGR2M7G.jpg)

4
Section 21 ヒストグラム
３． histplotは、重ねて色を指定することも可能
「sns.histplot」は、下記のように続いて書くと、2つのヒストグラムを重ねて書くことができます。
53 sns.histplot(data=データ名1, x=“列名&quot;)
sns.histplot(data=データ名2, x=“列名&quot;)
それぞれの( )内に、「,」に続けて、下記の記述をすればグラフの色を指定することもできます。
54 color=‘色’
色の例は参考1をご覧ください。
また、複数のグラフを重ねた場合、どのグラフがどの国のグラフかわかるように凡例を追加すること
もできます。
55 plt.legend(labels=[“A&quot;, “B&quot;, “C&quot;])
「labels=」に続く、ラベルの順番は、「sns.histplot」で書いた順番と一致するようにします。


# Page. 5

![Page Image](https://bcdn.docswell.com/page/VJPX3W1Q78.jpg)

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)
マゼンタは、明るく鮮やかな赤紫色のことで、インク・トナーにも使われています。


# Page. 6

![Page Image](https://bcdn.docswell.com/page/2EVL48YPJQ.jpg)

6
Section 21 ヒストグラム
４． histplotでの透明度の指定
グラフを重ねると、手前のグラフしか見えなくなります。そこで、活躍するのが、グラフを塗りつぶ
した色を透明にする方法。( )内に、カンマに続けて下記のように透明度を指定します。
56 alpha=数字 数字の範囲は 0 ～ 1 で、値が小さくなると、グラフはより透明になり、
デフォルトは1（すなわち透明度無） です。


# Page. 7

![Page Image](https://bcdn.docswell.com/page/57GX159QEL.jpg)

7
Section 21 ヒストグラム
５． heu
「sns.histplot」の( )内に、「,」に続けて「hue=“列名”」を追加すると、52のように
「sns.histplot」を続いて書かなくとも、1行で重ねたグラフを描くことができます。
57 sns.histplot(data=データ名, x=“列名1”, hue=”列名2“)
「hue」は、色分けという意味を持ち、「列名1」 の個数を「列名2」に示されたサブグループの
個数に分け、グループを色分けすることができます。seabornの便利な機能の一つです。


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EQ8DZWWJP.jpg)

8
Section 21 ヒストグラム
52 sns.histplot(data=データ名, x=“列名&quot;)
まずは、Section 20で作成した「id_pos11」（各価格帯の個数が多い上位３カ国）全体のヒ
ストグラムを描きましょう。x軸には「価格帯」指定します。y軸は指定してしなくとも、 「価格帯」の
個数（軸名「Count」 ）が自動的に算出、描画されます。


# Page. 9

![Page Image](https://bcdn.docswell.com/page/KJ42Z3K1E1.jpg)

9
Section 21 ヒストグラム
51 データ名.query( ‘列名 == [“文字名1”, “文字名2”] ‘)
次に、上位３カ国である「UnitedKingdom」、「Netherlands」、「EIRE」のそれぞれの
データを作ります。


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LE1MR1X57G.jpg)

10
Section 21 ヒストグラム
53 sns.histplot(data=データ名1, x=“列名&quot;)
sns.histplot(data=データ名2, x=“列名&quot;)
54 color=‘色’
55 plt.legend(labels=[“A&quot;, “B&quot;, “C&quot;])
次に、 52、53 を用いて「UnitedKingdom_price」、「Netherlands_price」、
「EIRE_price」のデータを用いたヒストグラムを描くプログラムを縦に並べて描きましょう。
グラフの色は、上から順に、b（青）、g（緑）、r（赤）をしてします。
こうすることにより、「sns.histplot」では、３つのグラフを重ねて描画することができます。
また、複数のグラフを重ねましたので、どれがどの国のグラフかわかるように54を用いて
凡例を追加します。
「labels=」に続く、ラベルの順番は、「sns.histplot」で書いた順番と一致するようにします。


# Page. 11

![Page Image](https://bcdn.docswell.com/page/GEW318NWE2.jpg)

11
Section 21 ヒストグラム


# Page. 12

![Page Image](https://bcdn.docswell.com/page/47ZVP832E3.jpg)

12
Section 21 ヒストグラム
「UnitedKingdom」と 「Netherlands」 、「EIRE」の数値の差が大きいので、y軸の範囲を
小さくしてみます。色が重なり、凡例と異なった色のグラフになってしまいました。


# Page. 13

![Page Image](https://bcdn.docswell.com/page/YJ65MPZ67V.jpg)

13
Section 21 ヒストグラム
56 alpha=数字
透明度を指定することによって、
凡例に近い色のグラフが描けま
した。
何度か、色と透明度を変えて最
適なグラフを見つける必要があり
ます！


# Page. 14

![Page Image](https://bcdn.docswell.com/page/GJ5YZKW5J4.jpg)

14
Section 21 ヒストグラム
57 sns.histplot(data=データ名, x=“列名1”, hue=”列名2“)
グラフを３つ重ねなくとも、
「hue」を使うと１行で上位３カ
国のグラフを国別に色分けする
ことができます。
「列名1」には、度数を算出する
対象の列名を、「列名2」には
色分けする対象の列名を記入
します。
この場合は、凡例とグラフの色
が異なっていて、わかりにくいで
すね。しかし、全体の傾向をつ
かむためには、たった１行で済
みますので、とても便利です。
最終的なレポートを描く場合は、
次のセクションで解説する積上
グラフを使うことも可能です。


