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()
出力:
ここで、kdeplot()
関数を使用して、horsepower
と mpg
またはマイル/ガロンを渡します。
コード:
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()
出力:
ここで利用できるさまざまなオプションがいくつかあります。 最初のものは、このプロットでより多くのリングまたはより多くの異なるレベルを持っています.
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()
出力:
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()
出力:
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つの異なるカテゴリがあります。
出力:
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