---
title: DS_Seaborn
tags: 
author: [kokuren](https://convert.docswell.com/user/kokuren333)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GEWPD1G3J2.jpg?width=480
description: DS_Seaborn by kokuren
published: November 28, 24
canonical: https://convert.docswell.com/s/kokuren333/KV1M7E-2024-11-28-201926
---
# Page. 1

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

Seaborn
データ可視化
スタイルカスタマイズ
Matplotlib
テーマ設定
Matplotlibとの連携
Seabornテーマ
色パレット
スタイル設定
統計プロット
コンテキスト設定
Categorical Plots
回帰プロット
ヒートマップ
Joint Plot
回帰線
カラーマップ
密度プロット
Bar Plot
Box Plot
Axes-level Plots
Violin Plot
Scatter Plot
Figure-level Plots
Line Plot
FacetGrid
PairGrid
Grid Plot
Seaborn
定義や意味
SeabornはPythonでデータ可視化を行うためのライブラリであり、特に統計的なグラ
フを簡単に作成するためのツールを提供する
Matplotlibをベースにしており、データフレームを用いたプロットが容易で、スタイル
やテーマを簡単にカスタマイズできる
Seabornはデータの分布や関係性を視覚的に示すことで、データ分析や機械学習の前
処理、結果の解釈を助ける
嚙み砕いた説明
Seabornは、Pythonでデータを視覚化するための便利なツールで、特にデータのパタ
ーンや傾向を理解するために使う
Matplotlibの拡張版のような存在で、より洗練されたグラフを簡単に作成できる
例えば、データの分布を示すヒストグラムや、2つの変数の関係を示す散布図などを
簡単に描画できる
実際の応用例
Seabornはデータ分析や機械学習のプロジェクトで広く使用され、データの前処理や
結果の可視化に利用される
ゲーム開発においては、プレイヤーの行動データの分析や、ゲーム内経済の可視化な
どに使用される
以下に、Seabornを使用したデータ可視化の例を示す


# Page. 2

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

import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータの読み込み
tips = sns.load_dataset(&quot;tips&quot;)
# 簡単な散布図の作成
sns.scatterplot(data=tips, x=&quot;total_bill&quot;, y=&quot;tip&quot;, hue=&quot;day&quot;)
# グラフの表示
plt.title(&quot;Scatter plot of Total Bill vs Tip&quot;)
plt.xlabel(&quot;Total Bill&quot;)
plt.ylabel(&quot;Tip&quot;)
plt.show()
# コメント: これは、レストランの請求金額とチップの関係を示す散布図である
# 色分けされた日付によって、どの曜日にどのような傾向があるかを視覚化できる
上記のコードは、Seabornを用いてレストランの請求金額とチップの関係を可視化す
る散布図を作成する例
色を使って曜日ごとの違いを視覚的に表現することで、曜日によるチップの傾向を簡
単に理解できる
データ可視化
定義や意味
データ可視化は、データセットの情報を視覚的に表現する技術であり、理解しやすく
するためにグラフ、チャート、地図などを利用する
この技術は、データのパターン、トレンド、異常を特定するために不可欠であり、意
思決定を支援する
数式を用いてデータ可視化を説明することは難しいが、データセットをグラフに変換
するプロセスを抽象化したものとして、次のように表すことができる
f :D→V
ここで、D はデータセット、V は視覚表現、f はデータを視覚表現に変換する関数を表す


# Page. 3

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

嚙み砕いた説明
データ可視化とは、数字や文字の羅列を見やすいグラフやチャートに変換すること
例えば、表に示された売上データを線グラフとして表示することで、売上の増減が一
目でわかるようにする
簡単に言えば、データを「見る」ためのツールである
実際の応用例
データ可視化は、ビジネスインテリジェンス、マーケティング分析、科学研究など、
さまざまな分野で利用されている
特に、ゲーム開発においては、プレイヤーの行動分析やゲームのバランス調整に役立
てられる
以下に、Pythonを用いたSeabornライブラリによるデータ可視化の例を示す。Seabornは統
計データの視覚化に強力なライブラリである。
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータセットをロード
tips = sns.load_dataset(&quot;tips&quot;)
# Seabornを使ってデータを可視化
sns.set_theme(style=&quot;whitegrid&quot;)
sns.barplot(x=&quot;day&quot;, y=&quot;total_bill&quot;, data=tips)
# グラフを表示
plt.title(&quot;Total Bill by Day&quot;)
plt.xlabel(&quot;Day of the Week&quot;)
plt.ylabel(&quot;Total Bill&quot;)
plt.show()
上記の例では、飲食店のチップデータを使って、曜日ごとの売上（Total Bill）を棒グ
ラフで可視化している
Seabornの barplot 関数を利用して、データを簡単に視覚化することができる
このように、Seabornを活用することで、データの傾向やパターンを迅速に把握でき
る


# Page. 4

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

スタイルカスタマイズ
定義や意味
スタイルカスタマイズとは、データの視覚化においてグラフや図表の色、フォント、
レイアウトなどの見た目を調整するプロセスのこと
Seabornは、Pythonのデータ可視化ライブラリであり、スタイルカスタマイズのため
の機能が豊富に用意されている
スタイルカスタマイズは、データの解釈を容易にし、視覚的に魅力的なグラフを作成
するために重要
具体的には、背景色の変更、軸のスタイル、線の太さ、マーカーの形状などを調整可
能
嚙み砕いた説明
スタイルカスタマイズを行うことで、グラフを見やすく、または特定の目的に合った
デザインに変更することができる
たとえば、プレゼン資料用のグラフを作成する際に、特定のブランドカラーを使用し
たり、フォントを統一することで視覚的一貫性を持たせることができる
Seabornを使うと、簡単にスタイルを変更でき、例えば set_style() 関数を使うこと
で背景やグリッドラインのスタイルを変更できる
実際の応用例
スタイルカスタマイズは、報告書やプレゼンテーション用のグラフ作成、またはダッ
シュボードでのデータ表示などで広く使用されている
Seabornを使った具体例を以下に示す


# Page. 5

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

import seaborn as sns
import matplotlib.pyplot as plt
# Seabornスタイルを設定
sns.set_style(&quot;whitegrid&quot;)
# 背景が白でグリッドラインあり
# データセットをロード
tips = sns.load_dataset(&quot;tips&quot;)
# スタイルをカスタマイズした散布図を作成
plt.figure(figsize=(8, 6))
sns.scatterplot(data=tips, x=&quot;total_bill&quot;, y=&quot;tip&quot;, hue=&quot;day&quot;, style=&quot;time&quot;, palette=&quot;de
# タイトルとラベルの設定
plt.title(&quot;Total Bill vs Tip by Day and Time&quot;)
plt.xlabel(&quot;Total Bill&quot;)
plt.ylabel(&quot;Tip&quot;)
# グラフを表示
plt.show()
上記のコードでは、Seabornの set_style() を用いて背景とグリッドを設定
し、 scatterplot() でプロットのスタイルを指定している
hue パラメータで色分け、 style パラメータでマーカーの形状を変えているため、異
なるカテゴリが一目でわかる
統計プロット
定義や意味
統計プロットとは、データの分布、関係性、傾向などを視覚的に示すためのグラフや
チャートのこと。データ分析や可視化の重要な手法であり、データの特徴を直感的に
理解するために用いられる。
統計プロットにはヒストグラム、散布図、箱ひげ図、棒グラフ、折れ線グラフなど多
様な種類がある。それぞれのプロットは、特定のデータ特徴や関係性を強調するため
に使われる。


# Page. 6

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

嚙み砕いた説明
統計プロットは、データを直感的に理解するための視覚的なツール。たとえば、ヒス
トグラムを使えばデータの分布を確認でき、散布図を使えば二つの変数間の関係を視
覚化できる。
たとえば、データセットの中にある年齢と収入の関係を調べたいとき、散布図を描く
ことでどのような関係性があるかを視覚的に確認できる。
実際の応用例
統計プロットはデータ分析や機械学習の前処理において、データの分布や外れ値の確
認、特徴量間の関係性の理解などに使用される。
PythonのライブラリであるSeabornを用いると、簡単に美しい統計プロットを作成で
きる。以下はSeabornを使ってヒストグラムを描画する例である。
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータの生成
data = sns.load_dataset(&quot;tips&quot;)
# ヒストグラムの作成
sns.histplot(data[&#039;total_bill&#039;], kde=True)
# グラフの表示
plt.title(&#039;Histogram of Total Bill&#039;)
plt.xlabel(&#039;Total Bill&#039;)
plt.ylabel(&#039;Frequency&#039;)
plt.show()
上記のコードは、Seabornの histplot を使用して、チップデータセット
の total_bill （合計請求額）に対するヒストグラムを作成している。また、カーネル
密度推定（KDE）を重ねることで、データの分布を滑らかに示している。
Categorical Plots
定義や意味
Categorical Plotsとは、データのカテゴリカル（離散）変数を視覚化するために使用
されるプロット群のこと


# Page. 7

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

Seabornライブラリは、Pythonでのデータ可視化において、カテゴリカルデータを効
果的にプロットするための機能を提供する
主なカテゴリカルプロットには、strip plot、swarm plot、box plot、violin plot、bar
plotなどが含まれる
嚙み砕いた説明
Categorical Plotsは、データのカテゴリカル変数、つまり離散的な値を持つ変数を視
覚化するための図表
例として、性別（男性、女性）、色（赤、青、緑）、曜日（月、火、水）などがカテ
ゴリカルデータに該当する
これらのプロットを使用することで、カテゴリ間の分布や傾向を直感的に理解できる
実際の応用例
Categorical Plotsは、データ分析や機械学習において、カテゴリ変数の分布を確認す
る際に頻繁に使用される
例えば、性別による収入の違いを視覚化する場合に効果的
以下にSeabornを用いた具体例を示す。ここでは、 barplot を使ってカテゴリカルデータの
平均を視覚化する。
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータの用意
tips = sns.load_dataset(&quot;tips&quot;)
# barplotの作成
# xにカテゴリカルデータ（曜日）、yに数値データ（チップの額）、hueで色分け（性別）
sns.barplot(x=&quot;day&quot;, y=&quot;total_bill&quot;, hue=&quot;sex&quot;, data=tips)
# グラフのタイトルと表示
plt.title(&#039;Average Total Bill by Day and Gender&#039;)
plt.show()
このコードスニペットでは、Seabornの barplot を用いて、異なる曜日ごとの平均的な支払
い金額を示す。 hue 引数を用いることで、さらに性別による違いを色分けして表示する。こ
のようにして、複数のカテゴリカル変数を組み合わせた視覚化が可能となる。


# Page. 8

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

Axes-level Plots
定義や意味
Axes-level Plotsとは、Matplotlibライブラリの基本単位である&quot;Axes&quot;オブジェクトに基
づいて作成されるプロットのこと
Seabornライブラリは、Matplotlibを基盤にしており、axes-level関数を使用してデー
タの視覚化を行う
これらのプロットは単一のAxesオブジェクトに描画され、個別のカスタマイズが可能
例えば、Seabornの scatterplot() や lineplot() などが該当する
嚙み砕いた説明
Axes-level Plotsは、グラフの基本的な構成要素であり、1つのグラフ（プロット）が1
つのAxesに描かれる
Seabornを使うと、このAxesレベルでのプロットを簡単に作成でき、個別にスタイル
やデータをカスタマイズできる
Axes-level Plotsは、特に単一のグラフを描画する際に便利で、詳細なカスタマイズが
可能
実際の応用例
Axes-level Plotsは、データの傾向や分布を視覚化するために使われる
例えば、Seabornを用いて散布図を描く場合、 scatterplot 関数が使用される
以下のコードスニペットはSeabornを使って散布図を描く例


# Page. 9

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

import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータのロード
tips = sns.load_dataset(&quot;tips&quot;)
# Axes-level Plot: 散布図の作成
ax = sns.scatterplot(x=&quot;total_bill&quot;, y=&quot;tip&quot;, data=tips)
# カスタマイズ: Axesのタイトルとラベルを設定
ax.set_title(&quot;Scatter plot of Total Bill vs Tip&quot;)
ax.set_xlabel(&quot;Total Bill&quot;)
ax.set_ylabel(&quot;Tip&quot;)
# グラフの表示
plt.show()
この例では、 scatterplot() 関数を用いて、チップのデータセットから「合計請求
額」と「チップ」の関係を示す散布図を作成している
ax はAxesオブジェクトであり、 set_title や set_xlabel などのメソッドを使って、
プロットをカスタマイズ可能
Figure-level Plots
定義や意味
Figure-level Plotsとは、データの可視化を行う際に、単一のプロットではなく、複数
のサブプロットを含む複合的な図全体を管理するための高レベルの抽象化を提供する
プロットのこと
主にPythonのデータ可視化ライブラリであるSeabornにおいて、Figure-level Plots
は、 FacetGrid や PairGrid 、 catplot 、 relplot 、 lmplot といった関数を用いて作成
され、これらは複数のプロットを一つの図にまとめ、共通の軸やカラーバー、タイト
ルなどを管理するための機能を提供する
これにより、異なる変数間の関係性をより直感的に理解することが可能になる
嚙み砕いた説明
Figure-level Plotsは、単一のプロットではなく、複数の図を一つにまとめて同時に表
示するための方法


# Page. 10

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

例えば、複数のカテゴリに対する棒グラフを一度に表示したい場合や、異なる散布図
を比較したい場合に便利
Seabornでは、これを行うための便利な関数があり、特にデータの異なる側面を比較
したり、カテゴリーごとに異なるプロットを作成する際に役立つ
これらのプロットは、複数のサブプロットを持つことができ、全体のレイアウトを簡
単に管理できる
実際の応用例
Figure-level Plotsは、データ分析や機械学習の前処理において、データのパターンを
視覚的に評価するために使用される
複数の変数の相関を視覚化することで、データから暗黙の関係性を見つける手助けと
なる
Seabornを用いた実装例
import seaborn as sns
import matplotlib.pyplot as plt
# Seabornのサンプルデータセットをロード
tips = sns.load_dataset(&quot;tips&quot;)
# catplotを用いて曜日ごとの性別別のチップの合計金額を表示
g = sns.catplot(
data=tips, kind=&quot;bar&quot;,
x=&quot;day&quot;, y=&quot;total_bill&quot;, hue=&quot;sex&quot;,
ci=&quot;sd&quot;, palette=&quot;dark&quot;, alpha=.6, height=6
)
# タイトルを設定
g.fig.suptitle(&quot;Total Bill by Day and Gender&quot;, fontsize=16)
# x軸とy軸のラベルを設定
g.set_axis_labels(&quot;Day&quot;, &quot;Total Bill&quot;)
# グラフを表示
plt.show()
上記のコードは、Seabornの catplot を使って、曜日ごとおよび性別ごとの「合計金
額（total_bill）」を棒グラフで可視化する例


# Page. 11

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

このプロットにより、異なる曜日や性別間での金額の差異を一目で理解することがで
きる
さらに、 catplot はFigure-level Plotの一種であり、全体のレイアウトや共通の要素
（例えばタイトルや軸ラベル）を一度に設定できるため、可視化が一貫して見やすく
なる
Matplotlib
定義や意味
MatplotlibはPythonでデータの可視化を行うためのライブラリの一つであり、特に2次
元のプロットを作成するために広く使われている。科学技術計算によるデータの可視
化に特化しており、様々な形式のグラフを描画することが可能。
Matplotlibは、特に pyplot モジュールを用いることで、MATLABに似たインターフェ
ースを提供し、手軽にプロットを作成することができる。
例えば、Matplotlibを用いて線形関数 y = 2x + 1 をプロットする場合、以下のよう
なコードを用いる。
import matplotlib.pyplot as plt
import numpy as np
# xの範囲を定義
x = np.linspace(-10, 10, 100)
# y = 2x + 1 の定義
y = 2 * x + 1
# プロットの作成
plt.plot(x, y, label=&#039;y = 2x + 1&#039;)
plt.xlabel(&#039;x&#039;)
plt.ylabel(&#039;y&#039;)
plt.title(&#039;Line Plot of y = 2x + 1&#039;)
plt.legend()
plt.show()
嚙み砕いた説明
Matplotlibは、データを視覚的に表現するためのツールで、手元のデータをグラフとし
て表示するのに役立つ。これにより、データの傾向やパターンを視覚的に理解しやす
くなる。


# Page. 12

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

例えば、売上データを時間軸でプロットすることで、どの季節に売上が上がるのか、
下がるのかを直感的に把握できる。
実際の応用例
Matplotlibは、データ分析や機械学習の分野で広く使用されており、データの前処理や
結果の可視化に役立つ。また、ゲーム制作においても、ゲーム内のデータやパフォー
マンスの解析に利用される。
SeabornはMatplotlibを基盤にして構築されたライブラリであり、より高度で美しいグ
ラフを簡単に作成することが可能。SeabornはMatplotlibと連携して使用され、特に統
計的なプロットに強みを持つ。
import seaborn as sns
import matplotlib.pyplot as plt
# データセットのロード（例としてSeabornのtipsデータセットを使用）
tips = sns.load_dataset(&#039;tips&#039;)
# Seabornを用いてカテゴリカルデータの可視化
sns.boxplot(x=&#039;day&#039;, y=&#039;total_bill&#039;, data=tips)
# プロットの表示
plt.title(&#039;Boxplot of Total Bill by Day&#039;)
plt.xlabel(&#039;Day&#039;)
plt.ylabel(&#039;Total Bill&#039;)
plt.show()
上記のように、SeabornとMatplotlibを組み合わせることで、データの可視化をより簡
単に、そしてより美しく行うことができる。
テーマ設定
定義や意味
テーマ設定とは、ゲームやアプリケーションの全体的な雰囲気やスタイルを決定する
プロセスを指す
これには色彩、フォント、音楽、ストーリーライン、キャラクターデザインなど、プ
ロジェクトの全体的なビジュアルとオーディオの一貫性を保つための要素が含まれる


# Page. 13

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

テーマ設定は、ユーザーの体験を導くための重要な役割を果たし、プロジェクトの目
的やメッセージを効果的に伝える
嚙み砕いた説明
テーマ設定は、ゲームやアプリの「雰囲気作り」のこと
例えば、ホラーゲームでは暗い色調や不気味な音楽を用いて恐怖感を演出する
一方、カジュアルゲームでは明るい色や楽しい音楽を使って遊びやすさを引き出す
実際の応用例
ゲーム開発において、テーマ設定はプレイヤーの没入感を高めるために重要
データ可視化ライブラリであるSeabornを使って、異なるテーマを適用することで、
データの見え方を変えることが可能
以下はSeabornを用いて異なるテーマを設定する例。
import seaborn as sns
import matplotlib.pyplot as plt
# Seabornのテーマを設定する
sns.set_theme(style=&quot;darkgrid&quot;)
# &#039;darkgrid&#039;, &#039;whitegrid&#039;, &#039;dark&#039;, &#039;white&#039;, &#039;ticks&#039; など
# サンプルデータを用いたプロット
data = sns.load_dataset(&quot;penguins&quot;)
sns.histplot(data=data, x=&quot;flipper_length_mm&quot;, hue=&quot;species&quot;, multiple=&quot;stack&quot;)
# プロットを表示
plt.title(&quot;Histogram of Penguin Flipper Length&quot;)
plt.show()
上記のコードスニペットでは、Seabornの set_theme 関数を用いてプロットのテーマ
を設定
style パラメータを変更することで、プロットの見た目をカスタマイズ可能
これにより、データの視覚的なプレゼンテーションに一貫したスタイルを与えること
ができる


# Page. 14

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

色パレット
定義や意味
色パレットとは、デザインやプログラミングにおいて使用される特定の色の組み合わ
せを指す。色パレットは、視覚的な一貫性を持たせるために、特定のプロジェクトや
テーマに合わせて選ばれる。
色パレットはRGB（Red, Green, Blue）やHSV（Hue, Saturation, Value）といった色
空間で表現されることが多い。
数式としては、色空間での変換や調整が求められることもある。例えば、RGBから
HSVへの変換は以下のように行われる。
Cmax = max(R, G, B)
Cmin = min(R, G, B)
Δ = Cmax − Cmin
​
​
​
​
​
​
色相 (Hue) は次のように計算する:
⎧0,
60 × ( G−B
mod 6) ,
Δ
H=⎨
B−R
60 × ( Δ + 2) ,
⎩
60 × ( R−G
Δ + 4) ,
​
​
​
​
if Δ = 0
if Cmax = R
if Cmax = G
if Cmax = B
​
​
​
​
​
嚙み砕いた説明
色パレットは、絵の具のセットやデジタルデザインで使う色のセットのようなもの。
例えば、ウェブサイトのデザインでは、背景色、テキスト色、ボタン色などが一貫し
たテーマに基づいて選ばれる。
よく知られる例として、Seabornライブラリではデフォルトで使われる色のセットが
あり、グラフやプロットを描写するときに一貫したスタイルを提供する。
実際の応用例
色パレットはグラフやデータビジュアライゼーションにおいて、視覚的な一貫性と情
報伝達の効率を向上させるために使用される。
Seabornライブラリでは、色パレットを簡単にカスタマイズできる。以下にSeaborn
を使用して色パレットを設定する例を示す。


# Page. 15

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

import seaborn as sns
import matplotlib.pyplot as plt
# Seabornのデフォルトパレットを使用
sns.set_palette(&quot;husl&quot;)
# ランダムデータを生成
data = sns.load_dataset(&quot;iris&quot;)
# 色パレットを適用したプロットを作成
sns.pairplot(data, hue=&quot;species&quot;)
plt.show()
このコードは、Seabornの pairplot を用いて、アイリスデータセットの特徴ごとのペ
アプロットを作成し、&quot;husl&quot;という色パレットを適用する例。 hue 引数によって、異
なる種に対して異なる色が割り当てられる。
スタイル設定（Seabornに関連）
定義や意味
スタイル設定とは、データビジュアライゼーションにおいて、プロットの外観をカス
タマイズするための手法の一つ
Seabornは、Matplotlibを基盤として構築されたPythonのデータ可視化ライブラリであ
り、スタイル設定を簡単に行うための機能を提供
Seabornのスタイル設定機能には、背景色、軸の線、グリッド、フォントサイズなど
の要素が含まれる
嚙み砕いた説明
データのグラフやチャートが見やすく、また美しくなるように見た目を整えることを
指す
例えば、プレゼンテーション用にグラフを作成する際に、背景を白くしたり、軸の線
を太くしたりすることができる
Seabornでは、簡単なコードでこれらのスタイルを一括して設定できる


# Page. 16

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

実際の応用例
Seabornを用いたデータプロットで、美しいグラフを生成し、視覚的にデータの特徴
を把握しやすくする
以下のコードスニペットは、Seabornを使用してスタイルを設定する具体例を示す
import seaborn as sns
import matplotlib.pyplot as plt
# Seabornのスタイルを設定
sns.set_style(&quot;whitegrid&quot;)
# 白いグリッドを背景に設定
# サンプルデータを作成
data = sns.load_dataset(&quot;iris&quot;)
# プロットを作成
sns.scatterplot(x=&quot;sepal_length&quot;, y=&quot;sepal_width&quot;, data=data)
# グラフの表示
plt.show()
このコードでは、 sns.set_style(&quot;whitegrid&quot;) を用いて、プロットの背景を白いグリ
ッドに設定している
sns.load_dataset(&quot;iris&quot;) は、Seabornに組み込まれているサンプルデータセットを
ロードしている
sns.scatterplot を用いて、散布図を生成し、 plt.show() でプロットを表示している
ご提示された概念についての解説を以下に示します。
Seabornにおけるヒートマップ
定義や意味
ヒートマップとは、行列の各要素を色で表現することにより、視覚的にデータのパタ
ーンや相関関係を把握するためのツール
主にデータの相関行列やカテゴリカルデータの頻度を可視化するために使われる
行列の各要素 (i, j) に対する値を色としてマッピングし、色の濃淡で値の大小を表現
する


# Page. 17

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

セルの色は通常、カラースケールに基づいて決定され、値の範囲内で線形変換される
嚙み砕いた説明
ヒートマップはデータを視覚的に理解しやすくするグラフの一種で、データの中でど
の部分が大きいか小さいかを色で示す
例えば、温度の変化を色で表すことで、どの地域が暑いか寒いかを直感的に理解でき
る
データを二次元の表（行列）として考え、各要素の値に応じた色をつけることで、一
目でデータの傾向を把握できる
実際の応用例
データ分析において、変数間の相関を確認するために使用される
カテゴリカルデータの頻度や分布を視覚化するためのツールとして利用される
以下にSeabornを使用したPythonでのヒートマップ作成例を示す
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# サンプルデータの生成
data = np.random.rand(10, 12)
# ヒートマップの作成
plt.figure(figsize=(10, 8))
sns.heatmap(data, annot=True, cmap=&#039;coolwarm&#039;)
# グラフの表示
plt.title(&#039;Sample Heatmap&#039;)
plt.show()
このコードでは、ランダムに生成された10行12列のデータをSeabornを使ってヒート
マップとして表示
annot=True オプションを指定することで、各セルに数値を表示し、データの具体的
な値を確認可能


# Page. 18

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

回帰プロット
定義や意味
回帰プロットとは、データの散布図と回帰直線を同時に表示するプロットの一種。主
に2つの変数間の関係を視覚的に評価するために使用される。回帰分析を行う際に、
データの傾向やパターンを確認するための視覚的なツールとして利用される。
数学的には、回帰直線は以下の一次方程式で表される：
y = mx + b
ここで、mは傾き、bは切片である。
嚙み砕いた説明
回帰プロットは、散布図に一本の直線を引いてデータの全体的な傾向を示すもの。デ
ータがどのように分布しているか、また2つの変数がどのような関係にあるかを簡単
に視覚化できる。例えば、ある商品の価格と売上の関係を調べるときに、価格が上が
ると売上がどう変化するかを回帰プロットで確認できる。
実際の応用例
回帰プロットはデータ分析の初期段階で、2つの変数間の関係性を視覚的に確認する
ために使われる。例えば、Seabornライブラリを用いてPythonで回帰プロットを作成
する。
以下にSeabornを使ったPythonコードスニペットを示す：


# Page. 19

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

import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータの作成
tips = sns.load_dataset(&quot;tips&quot;)
# 回帰プロットの作成
sns.lmplot(x=&quot;total_bill&quot;, y=&quot;tip&quot;, data=tips)
# プロットの表示
plt.title(&quot;Regression Plot of Total Bill vs Tip&quot;)
plt.xlabel(&quot;Total Bill&quot;)
plt.ylabel(&quot;Tip&quot;)
plt.show()
このコードでは、Seabornの lmplot を使用して、 tips データセット
の total_bill と tip の関係を示す回帰プロットを作成している。 lmplot は散布図と
回帰直線を同時に表示する機能を持つため、データの傾向を視覚的に確認しやすい。
ヒートマップ
定義や意味
ヒートマップは、データの値を色で表現し、視覚的に情報を伝達するためのグラフィ
カルな表現手法
通常、2次元のデータを行と列に沿って表示し、セルの色でその位置に対応する値の
大きさを示す
数式で表すと、ヒートマップは行列 A = [aij ] の各要素 aij を色で表現するものと考
える
​
​
色の濃淡や色相を用いて、通常はスカラー値の範囲を示す
嚙み砕いた説明
ヒートマップは、データのパターンや傾向を直感的に理解するための便利なツール
例えば、各地域の気温をヒートマップで示すと、温度の高い地域は赤く、低い地域は
青く表示される
データの変化を一目で把握できるため、視覚的な分析が必要な時に非常に有用


# Page. 20

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

実際の応用例
ヒートマップは、データ分析や可視化の分野で広く使用されている
例えば、機械学習の混同行列、相関マトリックス、ウェブサイトのユーザー行動分析
などで活用
Pythonのデータ可視化ライブラリであるSeabornを用いてヒートマップを作成する具
体例を以下に示す
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# ランダムなデータを生成
data = np.random.rand(10, 12)
# Seabornでヒートマップを作成
sns.heatmap(data, cmap=&#039;coolwarm&#039;, annot=True)
# プロットを表示
plt.show()
上記のコードでは、ランダムに生成した10行12列のデータをSeabornを使ってヒート
マップとして表示
cmap=&#039;coolwarm&#039; は色のパターンを指定し、 annot=True は各セルの値を表示するオプ
ション
Joint Plot
定義や意味
ジョイントプロット（Joint Plot）は、2つの変数間の関係を視覚的に示すためのグラ
フ
主に散布図を中心に、各軸の変数の分布を示すヒストグラムやカーネル密度推定を組
み合わせて表示する
データの相関関係や分布の特性を理解するのに役立つ
プロットされるデータセットが (X, Y ) の2次元データであるとすると、ジョイント
プロットは2次元散布図と、X とY のそれぞれの1次元分布を同時に表示する


# Page. 21

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

嚙み砕いた説明
ジョイントプロットは、2つのデータの関係性を一目で把握するためのグラフ
散布図で2つの変数の関連性を示し、各変数の分布を軸上にヒストグラムや曲線で表
示する
これにより、例えば2つの変数がどのように関連しているか、変数のばらつきがどう
なっているかを直感的に理解できる
実際の応用例
ジョイントプロットは、データ分析の初期段階でデータの探索的解析（Exploratory
Data Analysis, EDA）に活用される
具体例として、PythonのSeabornライブラリを使用してジョイントプロットを作成す
る方法を示す
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータのロード
tips = sns.load_dataset(&quot;tips&quot;)
# ジョイントプロットの作成
sns.jointplot(x=&quot;total_bill&quot;, y=&quot;tip&quot;, data=tips, kind=&quot;scatter&quot;)
# プロットの表示
plt.show()
このコードスニペットでは、Seabornの jointplot 関数を利用し
て、&quot;total_bill&quot;と&quot;tip&quot;の変数間の関係を散布図で示し、個々の変数の分布をヒストグラ
ムで表現している
kind 引数はプロットの種類を指定し、&quot;scatter&quot;の他に、&quot;kde&quot;（カーネル密度推定）
や&quot;hex&quot;（六角形ビンニング）などが指定可能
Bar Plot
定義や意味
Bar Plot（棒グラフ）は、カテゴリデータの可視化に用いられるグラフの一種であ
る。各棒（バー）はデータのカテゴリーを表し、その高さまたは長さがそのカテゴリ


# Page. 22

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

ーの値を示す。
棒グラフは、データの個別のカテゴリ間の比較を容易に行える視覚的な手段を提供す
る。
棒の高さは通常、ある定量的な指標（例：頻度、割合、平均値）に対応する。
2次元のデータセットにおいて、1つの軸はカテゴリを、もう1つの軸はそのカテゴリ
に対応する値を示す。
嚙み砕いた説明
棒グラフは、データを簡潔に視覚化する方法の一つで、異なるグループやカテゴリを
比較する際に役立つ。
例えば、異なる年齢層の人口分布を示す際に、それぞれの年齢層を表す棒を配置し、
その高さを人数で示す。
棒は縦にも横にも配置できるが、縦の棒（縦棒グラフ）が一般的。
実際の応用例
ゲーム開発においては、ユーザーのプレイ時間、得点、レベル進行状況などを比較す
るために棒グラフが用いられることがある。
データ分析や統計において、セールスの比較、ウェブトラフィックの比較、マーケテ
ィングキャンペーンの効果測定など、多くの場面で応用される。
以下に、PythonのSeabornライブラリを用いた棒グラフの例を示す。この例では、Seaborn
を使って簡単に棒グラフを描画し、データのカテゴリ間の比較を行う方法を説明する。


# Page. 23

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

import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータを用意
data = {
&#039;Category&#039;: [&#039;A&#039;, &#039;B&#039;, &#039;C&#039;, &#039;D&#039;],
&#039;Values&#039;: [4, 7, 1, 8]
}
# Seabornのbarplotを使用してデータをプロット
sns.barplot(x=&#039;Category&#039;, y=&#039;Values&#039;, data=data)
# グラフのタイトルとラベルを設定
plt.title(&#039;Sample Bar Plot&#039;)
plt.xlabel(&#039;Category&#039;)
plt.ylabel(&#039;Values&#039;)
# グラフを表示
plt.show()
このコードでは、 Category と Values という2つのリストをデータとして用意し、Seaborn
の barplot 関数を使ってそれらを棒グラフとして描画してい
る。 plt.title 、 plt.xlabel 、 plt.ylabel でそれぞれグラフのタイトルや軸ラベルを設定
し、 plt.show() でグラフを表示する。
Box Plot
定義や意味
Box Plot（ボックスプロット）は、データの分布を視覚的に表現するための統計図の
一種。データの最小値、第一四分位数（Q1）、中央値（第二四分位数、Q2）、第三
四分位数（Q3）、および最大値を示す。また、外れ値を視覚的に識別するのにも役立
つ。
ボックスの範囲は四分位範囲（Interquartile Range, IQR）であり、これは IQR =
Q3 − Q1 で表される。
外れ値は通常、Q1 − 1.5 × IQR より小さいか、Q3 + 1.5 × IQR より大きい値
として定義される。


# Page. 24

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

嚙み砕いた説明
ボックスプロットは、データの中央値を中央の線で表し、その周りにデータの半分を
含む箱を描く。箱の上下には「ひげ」と呼ばれる線が伸びており、通常はデータの範
囲（ただし外れ値を除く）を示す。箱の下側が第一四分位数、上側が第三四分位数を
示し、これによりデータの集中度やばらつきを視覚的に理解できる。
「ひげ」の範囲から外れた点は、外れ値としてプロットされる。
実際の応用例
ボックスプロットは、データの分布や外れ値の視覚化に優れており、統計分析やデー
タサイエンスの分野で広く使われる。また、ゲームのプレイヤースコアやパフォーマ
ンスデータの分布を理解するためにも使われる。
以下に、PythonライブラリのSeabornを使用してボックスプロットを作成する方法を示す。
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータのロード（例: タイタニックのデータセット）
titanic = sns.load_dataset(&quot;titanic&quot;)
# ボックスプロットの描画
# &#039;class&#039; 列でデータを分け、&#039;fare&#039; 列の分布を表示
sns.boxplot(x=&#039;class&#039;, y=&#039;fare&#039;, data=titanic)
# プロットの表示
plt.title(&#039;Box Plot of Fare by Class&#039;)
plt.xlabel(&#039;Class&#039;)
plt.ylabel(&#039;Fare&#039;)
plt.show()
このコードは、Seabornライブラリを使用して、Titanicデータセットの運賃（fare）をクラス
ごとに分けてボックスプロットを描画する例。 sns.boxplot 関数は、簡単にデータの分布や
外れ値を視覚化するための便利な方法を提供する。


# Page. 25

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

Violin Plot
定義や意味
Violin Plotは、データの分布とその要約統計量を視覚的に表現するためのプロット手
法
箱ひげ図（Box Plot）と似ているが、データの分布を滑らかにしたカーネル密度推定
（Kernel Density Estimation, KDE）を用いて描かれるため、データの分布形状をより
直感的に理解可能
横軸にカテゴリ変数、縦軸に連続変数を取り、その分布を視覚化
Violin Plotの形状はデータの分布を示し、中央には中央値や四分位範囲が表示される
嚙み砕いた説明
Violin Plotとは、データの分布を形で示す図のこと
通常の箱ひげ図に比べ、データがどのように広がっているか、ピークがどこにあるか
を視覚的に理解しやすくする
例えば、ある試験の点数がどう分布しているかを見たいとき、単に平均や中央値だけ
でなく、点数が集中している部分やばらつきの程度を視覚的に把握できる
Violin Plotでは、バイオリンの形をした図が描かれるため、データの密度が高い部分
が膨らんで見える
実際の応用例
Violin Plotは、データサイエンスや統計分析の分野で使用され、特にデータの分布が
重要な分析で役立つ
例えば、異なるグループ間での数値データの分布を比較する際に有用
PythonのライブラリであるSeabornを用いると、簡単にViolin Plotを作成可能
以下にSeabornを用いたViolin Plotの例を示す：


# Page. 26

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

import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータセットをロード
tips = sns.load_dataset(&#039;tips&#039;)
# Violin Plotを作成
sns.violinplot(x=&#039;day&#039;, y=&#039;total_bill&#039;, data=tips)
# プロットを表示
plt.show()
このコードでは、Seabornのデータセットである&#039;tips&#039;を使い、曜日ごとの合計請求額
（total_bill）の分布をViolin Plotで視覚化している。 sns.violinplot() 関数により、簡単にデ
ータの分布形状を見える化できる。
Scatter Plot
定義や意味
散布図（Scatter Plot）は、2つの変数間の関係を視覚的に表現するためのグラフの一
種。各データポイントは、二次元平面上の点として表される。
散布図では、横軸（x軸）と縦軸（y 軸）を用い、それぞれの軸に沿ってデータポイン
トがプロットされる。各点の位置は、x軸とy 軸の値によって決まる。
数式的には、データポイントは対として表され、それぞれ (xi , yi ) という形式をと
る。ここで i はデータポイントのインデックス。
​
​
嚙み砕いた説明
散布図は、データの中にある2つの変数の関係を視覚的に示すためのもの。点がどの
ように配置されているかを見ることで、2つの変数間の相関関係を直感的に理解でき
る。
例えば、身長と体重のデータを散布図にプロットすると、体重が増えると身長も増え
るという関係があるかどうかを視覚的に確認できる。
実際の応用例
散布図は統計学やデータ分析において、変数間の相関を確認するためによく使用され
る。また、回帰分析を行う際の初期段階で、データの分布を確認するために役立つ。


# Page. 27

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

ゲーム開発においては、プレイヤーのスコアとプレイ時間の関係を分析したり、キャ
ラクターのステータスの相関を確認するために使用されることがある。
以下は、PythonのライブラリSeabornを用いて散布図を作成する例。SeabornはMatplotlibの
上位ライブラリで、より簡単に美しいプロットを作成できる。
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータの生成
data = {
&#039;height&#039;: [150, 160, 170, 180, 190],
&#039;weight&#039;: [50, 60, 70, 80, 90]
}
# Seabornのscatterplotを使用して散布図を作成
sns.scatterplot(x=&#039;height&#039;, y=&#039;weight&#039;, data=data)
# グラフの表示
plt.title(&#039;Height vs Weight Scatter Plot&#039;)
plt.xlabel(&#039;Height (cm)&#039;)
plt.ylabel(&#039;Weight (kg)&#039;)
plt.show()
このコードスニペットは、身長と体重のデータを用いて散布図を作成する方法を示してい
る。データは辞書形式で与えられ、Seabornの scatterplot 関数を使用してプロットされる。
プロットされた散布図を観察することで、身長と体重の間にどのような関係があるかを視覚
的に分析できる。
Line Plot
定義や意味
Line Plotは、データのポイントを直線で結んで可視化するグラフの一種。時間の経過
に伴う変化やトレンドを示すのに適している。
通常、横軸には独立変数（例えば時間）、縦軸には従属変数（例えば温度や価格）を
取る。
数学的には、与えられたデータポイントの集合(x1 , y1 ), (x2 , y2 ), … , (xn , yn )を連
​
続的に直線で結ぶことを指す。
​
​
​
​
​


# Page. 28

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

嚙み砕いた説明
Line Plotは、変化を視覚的に捉えるためのグラフ。たとえば、気温の1週間の推移を
表すのに使う。各日の気温を点で示し、それを線で結ぶことで、どのように気温が変
化したかが一目でわかる。
ポイントは、個々のデータ点を直感的に理解しやすく、またその間のトレンドを明示
的に示せる点にある。
実際の応用例
Line Plotはデータ分析、特に時系列データの解析でよく使われる。例えば、株価の変
動やセンサーの測定値の変化など。
PythonのライブラリSeabornを使って簡単にLine Plotを作成できる。以下にSeaborn
を用いたLine Plotのコードスニペットを示す。
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
# サンプルデータの作成
data = {&#039;date&#039;: pd.date_range(start=&#039;2023-01-01&#039;, periods=7, freq=&#039;D&#039;),
&#039;temperature&#039;: [22, 21, 23, 24, 25, 24, 23]}
df = pd.DataFrame(data)
# Seabornを使ってLine Plotを作成
plt.figure(figsize=(10, 6))
sns.lineplot(data=df, x=&#039;date&#039;, y=&#039;temperature&#039;)
# タイトルとラベルの設定
plt.title(&#039;Weekly Temperature Change&#039;)
plt.xlabel(&#039;Date&#039;)
plt.ylabel(&#039;Temperature (°C)&#039;)
# グラフを表示
plt.show()
このコードでは、1週間の気温変化をシミュレートしたデータを用いて、Seabornで
Line Plotを作成している。 sns.lineplot はデータフレームの指定された列をもとに自
動的に線を描画する。


# Page. 29

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

FacetGrid
定義や意味
FacetGrid はPythonのデータ可視化ライブラリであるSeabornで提供されるクラス
データセットを小さな複数のサブプロットに分割し、異なる条件に基づいてデータを
視覚化するための強力なツール
各サブプロットは&quot;facet&quot;と呼ばれ、異なるカテゴリを横断して同じ種類のプロットを
作成する
FacetGrid は行や列、色などの次元に基づくデータの分割をサポート
嚙み砕いた説明
FacetGrid は一つの大きなグラフを複数の小さなグラフに分割するためのもので、デ
ータを異なる条件で比較しやすくする
例えば、データセットに性別や年齢などのカテゴリがある場合、これらのカテゴリご
とに個別のグラフを作成することで、視覚的に比較しやすくする
グラフの配列を作ることで、データのパターンやトレンドを簡単に見つけることがで
きる
実際の応用例
例えば、自動車のデータセットにおいて、異なるドライブタイプ（前輪駆動、後輪駆
動、四輪駆動）ごとに燃費の分布を可視化したい場合に使用できる
以下のコードスニペットは、Seabornの FacetGrid を使って、 mpg （マイルパーガロ
ン）データセットを車の駆動方式で分割し、ヒストグラムを描画する例


# Page. 30

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

import seaborn as sns
import matplotlib.pyplot as plt
# Seabornのサンプルデータセットをロード
mpg = sns.load_dataset(&quot;mpg&quot;)
# FacetGridを作成し、ドライブタイプごとに分割
g = sns.FacetGrid(mpg, col=&quot;drive&quot;, margin_titles=True)
# 各facetにヒストグラムを描画
g.map(plt.hist, &quot;mpg&quot;, bins=20, color=&quot;c&quot;)
# グラフを表示
plt.show()
この例では、 mpg データセットを drive 列で分割し、各ドライブタイプごとに mpg 列
のヒストグラムを描画
これにより、異なるドライブタイプの燃費分布を簡単に比較可能
FacetGrid は他にも散布図や線グラフなど、様々なプロットに応用できる
PairGrid
定義や意味
PairGridはPythonのデータ可視化ライブラリであるSeabornのクラスの一つで、多変
量データの可視化を行うためのグリッドを作成するツール
特に、異なる変数のペア間の関係を視覚化するために利用される
PairGridは、各変数間のプロットを一つのグリッドに組み合わせることで、複雑なデ
ータセットの相関や分布を把握しやすくする
典型的には、対角線上に各変数の自己関係プロット（ヒストグラムなど）を配置し、
オフダイアゴナルには2変数間の散布図などを配置する
嚙み砕いた説明
PairGridは、データセット内の異なる変数同士の関係を一度に視覚化できる便利なツ
ール
例えば、データセットに3つの変数A, B, Cがある場合、PairGridはこれらの組み合わ
せ（A-B, A-C, B-Cなど）の関係を一つの図にまとめて表示する


# Page. 31

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

各変数の自己関係も表示でき、データの全体的な傾向やパターンを把握するのに役立
つ
実際の応用例
PairGridは、データ解析やモデリングの前段階でデータの探索的解析を行う際に非常
に有用
例えば、Irisデータセットの各特徴量間の関係を視覚化する際に使用される
import seaborn as sns
import matplotlib.pyplot as plt
# Irisデータセットをロード
iris = sns.load_dataset(&quot;iris&quot;)
# PairGridを作成
g = sns.PairGrid(iris)
# マッピング
g.map_diag(sns.histplot)
# 対角線のプロットにヒストグラムを使用
g.map_offdiag(sns.scatterplot)
# オフダイアゴナルのプロットに散布図を使用
# プロットを表示
plt.show()
このコードスニペットでは、Irisデータセットの各特徴量間の関係をPairGridを用いて視覚化
している。対角線には各特徴量の分布を示すヒストグラムを配置し、オフダイアゴナルには
特徴量間の関係を示す散布図を配置することで、データの相関関係を直感的に理解できるよ
うになっている。
Grid Plot
定義や意味
Grid Plotとは、データを視覚的に表現するために用いる手法で、データを格子状に配
置して視覚化すること。特に、多次元データや異なるカテゴリのデータを比較する際
に有効。
Pythonのデータ可視化ライブラリであるSeabornでは、 PairGrid や FacetGrid といっ
た関数を用いてGrid Plotを作成できる。


# Page. 32

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

Grid Plotは複数のプロットを一つの図にまとめることで、各変数間の関係性やデータ
の分布を一目で理解するのに役立つ。
嚙み砕いた説明
Grid Plotは、データを行列形式で視覚化する手法。例えば、各行と列が異なる変数を
表し、それぞれの交差点にプロットが描画される。
これにより、異なる変数同士の関係を視覚的に比較することができる。例えば、二種
類の変数の散布図を複数並べて、どの変数がどのように相関しているかを一目で確認
できる。
Seabornの PairGrid は、データフレーム内の数値変数をすべてペアでプロットするた
めのツールで、 FacetGrid はカテゴリ変数によってデータをグループ化するのに役立
つ。
実際の応用例
Grid Plotは、データ分析や機械学習の前処理段階で、データの特性を把握するために
用いられる。
例えば、Seabornを用いてIrisデータセットの各変数間の関係性を視覚化するために、
次のようなコードを実行できる。
import seaborn as sns
import matplotlib.pyplot as plt
# Irisデータセットをロード
iris = sns.load_dataset(&quot;iris&quot;)
# PairGridを使用して、各数値変数のペアプロットを作成
g = sns.PairGrid(iris)
g.map_diag(sns.histplot)
# 対角線にはヒストグラムを配置
g.map_offdiag(sns.scatterplot)
# 対角線外には散布図を配置
# プロットを表示
plt.show()
上記のコードスニペットでは、Seabornの PairGrid を用いて、Irisデータセットの各
数値変数の組み合わせを散布図やヒストグラムで視覚化している。
このようにして、データの特性や変数間の関係性を直感的に理解することができる。


# Page. 33

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

Matplotlibとの連携
定義や意味
Matplotlibは、Pythonでのデータ可視化のためのライブラリであり、2Dプロットの作
成を主に行う。Matplotlibは、データを視覚的に分析したり、報告書やプレゼンテーシ
ョン用のグラフを作成するために使用される。
SeabornはMatplotlibを基盤とした高水準のデータ可視化ライブラリであり、統計的な
グラフを簡単に作成するための高度なスタイルやイメージを提供する。Seabornは
Matplotlibの機能を拡張し、より美しいプロットを生成することができる。
嚙み砕いた説明
Matplotlibは、Pythonでグラフやプロットを作るための道具と考えるとよい。これを
使うと、Pythonで計算したデータを簡単にグラフにして、目で見てわかるように表現
できる。
SeabornはMatplotlibを便利かつ美しくするツール。データの傾向やパターンを見やす
くするための色やスタイルがあらかじめ組み込まれている。
実際の応用例
例えば、ゲーム内でプレイヤーの成績統計を視覚化する際に使用される。プレイヤー
のスコアや進行状況を折れ線グラフやヒストグラムで表現することができる。


# Page. 34

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

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# データの生成
np.random.seed(0)
data = np.random.normal(size=100)
# Seabornでのヒストグラムの作成
sns.histplot(data, kde=True, color=&#039;skyblue&#039;, bins=20)
# グラフのタイトルとラベル
plt.title(&#039;Player Score Distribution&#039;)
plt.xlabel(&#039;Score&#039;)
plt.ylabel(&#039;Frequency&#039;)
# グラフの表示
plt.show()
上記のコードでは、Seabornを使用して、プレイヤーのスコアの分布をヒストグラム
で視覚化している。Matplotlibを使ってグラフのタイトルやラベルを設定
し、 plt.show() で表示する。Seabornの histplot 関数は、データの分布を滑らかな
カーネル密度推定（kde）とともに表示するための便利な関数である。
Seabornテーマ
定義や意味
SeabornはPythonのデータ可視化ライブラリで、Matplotlibの上に構築されている。
Seabornテーマは、データの視覚的表現を整えるためのスタイル設定の一部であり、
プロットの見た目を一貫して美しくするためのプリセットを提供する。
Seabornは、グラフの背景、グリッド、フォント、カラーパレットなど、視覚的な要
素を簡単に変更できるいくつかのテーマを提供する。これにより、視覚化の美しさと
可読性を向上させる。
嚙み砕いた説明
Seabornテーマは、グラフのスタイルを統一して見やすくするための設定パターンで
ある。通常、プレゼンテーションやレポートに適した見た目を簡単に得るために使用
される。


# Page. 35

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

例えば、背景色を淡くしてデータが見やすくする、フォントを変更して可読性を高め
るなど、視覚的に訴えるデータ可視化を作成できる。
実際の応用例
Seabornテーマは、データサイエンスや機械学習のプロジェクトで、データの傾向を
視覚化する際に頻繁に使用される。また、ビジネスレポートやプレゼンテーションで
データを見やすく表示するためにも役立つ。
以下にSeabornテーマを利用したプロットの例を示す：
import seaborn as sns
import matplotlib.pyplot as plt
# Seabornのテーマを設定する
sns.set_theme(style=&quot;darkgrid&quot;)
# 他に&quot;whitegrid&quot;, &quot;dark&quot;, &quot;white&quot;, &quot;ticks&quot;がある
# サンプルデータをロードする
tips = sns.load_dataset(&quot;tips&quot;)
# プロットを作成する
sns.scatterplot(data=tips, x=&quot;total_bill&quot;, y=&quot;tip&quot;, hue=&quot;day&quot;, style=&quot;time&quot;)
# プロットを表示する
plt.show()
上記のコードでは、 set_theme 関数を使用してプロット全体のテーマを設定してい
る。
style=&quot;darkgrid&quot; は、背景にグリッドを持つ暗いスタイルを適用する。
テーマを変更することで、データの視覚的表現を目的に応じて簡単に変えることがで
きる。
回帰線
定義や意味
回帰線は、統計学および機械学習における回帰分析で使用される線で、データの関係
性をモデル化し、予測を行うために用いる


# Page. 36

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

単回帰分析では、1つの独立変数 x と1つの従属変数 y の関係を直線 y = β0 + β1 x
​
で表現する
β0 は切片（y軸との交点）、β1 は傾きで、これらの係数はデータに基づいて最適化
​
​
される
嚙み砕いた説明
回帰線とは、データの点の集まりに対して、その点たちを「できるだけよく表す」直
線のこと
例えば、身長と体重のデータがあるとき、身長が高いほど体重も重い傾向があるかど
うかを見るために、回帰線を引く
その線が示すのは、「身長が1cm増えると、体重は平均してどれくらい増えるか」と
いった関係性
実際の応用例
回帰線は、予測を行うために広く使用される
例えば、過去のデータに基づいて将来の売上を予測したり、マーケティングキャンペ
ーンの効果を分析する際に使用される
以下は、PythonのSeabornライブラリを用いて回帰線をプロットする例である：
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータセットの読み込み
tips = sns.load_dataset(&quot;tips&quot;)
# Seabornのregplotを使用して回帰線をプロット
sns.regplot(x=&quot;total_bill&quot;, y=&quot;tip&quot;, data=tips)
# グラフの表示
plt.title(&#039;Regression Line on Tips Dataset&#039;)
plt.xlabel(&#039;Total Bill&#039;)
plt.ylabel(&#039;Tip&#039;)
plt.show()
このコードスニペットでは、Seabornの tips データセットを使用して、 total_bill （合計金
額）と tip （チップ）の間の関係を視覚化している。 sns.regplot 関数は、データポイント
に対して回帰線をプロットし、視覚的にその傾向を示す。


# Page. 37

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

カラーマップ
定義や意味
カラーマップとは、数値データを色で表現する手法のこと。視覚的にデータを理解し
やすくするため、データの値を特定の色の範囲に変換する
カラーマップは通常、f : R → Colorという形式の関数であり、実数値を色にマッ
ピングする
カラーマップは連続的なものや離散的なものがあり、表現したいデータの特性に応じ
て選択される
嚙み砕いた説明
カラーマップは、データの値を色に変換するルールセットのこと。例えば、気温デー
タを青から赤に変化する色で表現することで、どの地域が暑いか寒いかを一目で理解
できる
よく使われるカラーマップには、温度を表す&quot;coolwarm&quot;や、標高を表す&quot;terrain&quot;など
がある
実際の応用例
カラーマップはデータ可視化の分野で広く使用され、特にヒートマップやサーフェス
プロットなどで利用される
Pythonのデータ可視化ライブラリSeabornでは、ヒートマップの描画にカラーマップ
を簡単に適用できる
以下にSeabornを用いたカラーマップの適用例を示す：


# Page. 38

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

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# サンプルデータの生成
data = np.random.rand(10, 12)
# Seabornを用いたヒートマップの作成
sns.set_theme()
ax = sns.heatmap(data, cmap=&quot;YlGnBu&quot;)
plt.title(&#039;Heatmap with YlGnBu colormap&#039;)
plt.show()
このコードスニペットでは、10 × 12のランダムなデータを生成し、Seabornの heatmap 関数
を用いて表示している。 cmap 引数を&quot;YlGnBu&quot;に設定することで、データを黄色から青に変化
するカラーマップで可視化している。
密度プロット
定義や意味
密度プロットとは、データの分布を視覚化するための手法の一つであり、データが特
定の範囲にどれくらい集中しているかを示すプロット
連続したデータの分布を滑らかに示すために、カーネル密度推定(Kernel Density
Estimation, KDE)を用いる
密度推定 f (x) は、データポイント x1 , x2 , … , xn に対して、次のカーネル関数 K
​
​
​
を用いた式で表される
n
1
x − xi
f^(x) =
∑K (
)
nh i=1
h
​
​
​
​
​
ここで、h はバンド幅と呼ばれる調整パラメータ
嚙み砕いた説明
密度プロットは、データの分布を視覚的に理解するための便利なツール


# Page. 39

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

ヒストグラムの滑らかなバージョンと考えることができ、データの集中度合いやパタ
ーンを見やすくする
密度プロットは、データのピークを滑らかに示し、どの領域にデータが多く存在する
かを視覚的に表現する
実際の応用例
密度プロットは、データ分析においてデータの分布を理解するために広く用いられる
特に、データの集中領域や外れ値を視覚的に確認するのに役立つ
PythonのSeabornライブラリを用いて簡単に密度プロットを作成することができる
import seaborn as sns
import matplotlib.pyplot as plt
# サンプルデータの生成
data = sns.load_dataset(&#039;iris&#039;)
# Seabornを使用した密度プロットの作成
sns.kdeplot(data[&#039;sepal_length&#039;], shade=True)
# プロットの表示
plt.title(&quot;Density Plot of Sepal Length&quot;)
plt.xlabel(&quot;Sepal Length&quot;)
plt.ylabel(&quot;Density&quot;)
plt.show()
このコードスニペットでは、Seabornライブラリを使用してIrisデータセット
の sepal_length の密度プロットを作成している。 kdeplot 関数を使用し、 shade=True を指定
することでプロットに色を付け、分布の密度を視覚的に強調している。


