Seaborn で等高線図を作成する

Salman Mehmood 2023年6月21日
Seaborn で等高線図を作成する

このディスカッションでは、Seaborn で kdeplot() 関数を使用して等高線図を作成する方法を紹介します。

Seaborn で kdeplot() 関数を使用して等高線図を作成する

カーネル密度推定により、有限データセットから確率密度関数を推定できます。 kdeplot() には二変量プロットのオプションがあります。 この場合、データの同時確率密度関数を 2 次元で推定できます。

Seaborn の kdeplot() を使用すると、結合 PDF を推定できるように、データのさまざまな密度レベルを表す等高線を作成できます。 Seaborn には contour 関数がないため、kdeplot() 関数を使用して等高線図を表示する必要があります。

kdeplot() を使用して 2 変量プロットまたは 2 次元プロットを作成する Seaborn コードを見てみましょう。 pyplot と Seaborn をインポートし、両方のライブラリにエイリアスを設定することから始めます。

import seaborn as seaborn
import matplotlib.pyplot as plot

次のステップは、Seaborn からいくつかのデータをロードすることです。 車に関するデータセットを使用するため、さまざまな車について異なる統計があります。

dropna() 関数は、データセットからすべての null 値を削除します。

コード:

data_set = seaborn.load_dataset("mpg").dropna()
data_set.head()

出力:

Seaborn 等高線図 - 出力 1

ここで、kdeplot() 関数を使用して、horsepowermpg またはマイル/ガロンを渡します。

コード:

import seaborn as seaborn
import matplotlib.pyplot as plot

data_set = seaborn.load_dataset("mpg").dropna()
seaborn.kdeplot(data_set.horsepower, data_set.mpg)
plot.show()

出力:

Seaborn 等高線図 - 出力 2

ここで利用できるさまざまなオプションがいくつかあります。 最初のものは、このプロットでより多くのリングまたはより多くの異なるレベルを持っています.

n_levels パラメータにアクセスすることで、その値を変更できます。

import seaborn as seaborn
import matplotlib.pyplot as plot

data_set = seaborn.load_dataset("mpg").dropna()

seaborn.kdeplot(data_set.horsepower, data_set.mpg, n_levels=20)
plot.show()

出力:

Seaborn 等高線図 - 出力 3

shade バージョンを使用して、シェーディング バージョンに切り替えることもできます。

import seaborn as seaborn
import matplotlib.pyplot as plot

data_set = seaborn.load_dataset("mpg").dropna()
seaborn.kdeplot(data_set.horsepower, data_set.mpg, shade=True)
plot.show()

出力:

Seaborn 等高線図 - 出力 4

cbar パラメータを使用してカラーバーを含めることもできます。

import seaborn as seaborn
import matplotlib.pyplot as plot

data_set = seaborn.load_dataset("mpg").dropna()
seaborn.kdeplot(data_set.horsepower, data_set.mpg, shade=True, cbar=True)
plot.show()

お気づきのとおり、データには 2つの異なるカテゴリがあります。

出力:

Seaborn 等高線図 - 出力 5

著者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

関連記事 - Seaborn Plot