📌  相关文章
📜  如何使用 Seaborn 在Python中制作 Ridgeline 图?

📅  最后修改于: 2022-05-13 01:54:39.274000             🧑  作者: Mango

如何使用 Seaborn 在Python中制作 Ridgeline 图?

先决条件: Seaborn

脊线图是一组重叠的密度图,有助于比较数据集之间的多个分布。 Ridgeline 图看起来像山脉,它们对于可视化分布随时间或空间的变化非常有用。有时它也被称为“joyplot”,参考了 Joy Division 专辑 Unknown Pleasures 的标志性封面艺术。在本文中,我们将看到如何为数据集生成 Ridgeline 图。

安装

像任何其他Python库一样,seaborn 可以使用 pip 轻松安装:

pip install seaborn

该库是 Anaconda 发行版的一部分,如果您的 IDE 受 Anaconda 支持,通常只需通过导入即可工作,但也可以通过以下命令安装:

conda install seaborn

程序

  • 加载使用Python生成 Ridgeline 图所需的包。
  • 读取数据集。在本例中,我们使用read_csv()方法加载数据集。在给定的示例中,我们将仅使用head()方法显示前 5 个条目。
  • 生成 RidgePlot。山脊线图使用分面意味着它会在单列中创建小的倍数。要生成 Ridgeline Plot Seaborn 使用FacetGrid()方法,并且所有需要的信息都应该传递给它
  • 使用 map() 方法在网格的每个元素中创建密度图。在这个例子中,我们需要一个密度图,所以使用 Seaborn 中提供的 kdeplot() 方法。

示例数据库:以下示例中使用的数据集是从 kaggle.com 下载的。以下链接可用于相同的。

数据库:titanic_train.csv

例子:

Python3
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
from sklearn import preprocessing
  
df = pd.read_csv("titanic_train.csv")
df.dropna()
  
le = preprocessing.LabelEncoder()
df["Sex"] = le.fit_transform(df["Sex"])
  
  
rp = sns.FacetGrid(df, row="Sex", hue="Sex", aspect=5, height=1.25)
  
rp.map(sns.kdeplot, 'Survived', clip_on=False,
       shade=True, alpha=0.7, lw=4, bw=.2)
  
rp.map(plt.axhline, y=0, lw=4, clip_on=False)


输出 :