Python教程-Python seaborn库
Seaborn是Python中用于图形统计绘图的一个惊人库之一。Seaborn提供了许多配色方案和默认的美观样式,以使Python中许多统计图的创建更具吸引力。
Python Seaborn库的目标
Seaborn库旨在使对数据的中心部分进行更吸引人的可视化,以便更好地理解和探索数据。它建立在matplotlib库的核心之上,还提供了面向数据集的API。
Seaborn还与Pandas数据结构密切集成,借助它,我们可以轻松地在给定变量的各种不同视觉表示之间切换,以更好地理解提供的数据集。
Python Seaborn库中的绘图类别
绘图通常用于可视化给定变量之间的关系。这些变量可以是类别,如组、分组或类别,也可以是完全数值变量。使用seaborn库,我们可以创建各种不同类别的图。
在seaborn库中,我们创建的图可以分为以下各种类别:
- 分布图: 用于检查两种类型的分布,即单变量和双变量分布。
- 关系图: 用于理解两个给定变量之间的关系。
- 回归图: Seaborn库中的回归图主要用于添加额外的视觉指南,有助于在探索性数据分析过程中强调数据集的模式。
- 分类图: 用于处理变量的各个类别以及如何可视化它们。
- 多图网格: 多图网格也是一种类型的图,一种有用的方法是在单个数据集的不同子集上绘制相同图的多个实例。
- 矩阵图: 矩阵图是一种散点图数组。
安装Python的seaborn库
在这里,我们将学习如何安装Python的seaborn库。安装seaborn库后,我们可以将其导入到我们的Python程序中并在Python中使用它。
pip install seaborn
seaborn库的必需依赖或先决条件:
我们必须有:
- 安装了最新版本(3.6+)的Python。
- 必须安装了Numpy,版本为1.13.3或更高版本。
- 必须安装了SciPy,版本为1.0.1或更高版本。
- 必须安装了pandas库,版本为0.22.0或更高版本。
- 必须安装了statsmodel库,版本为0.8.0或更高版本。
- 必须安装了matplotlib,版本为2.1.2或更高版本。
现在,我们将了解一些使用seaborn库在Python中绘制的基本图的示例。
使用seaborn库绘制图表
1. 折线图:
seaborn折线图是seaborn库中存在的最基本的绘图之一。我们主要使用seaborn折线图以一种连续的方式可视化给定的数据,即与时间相关。
示例 -
# Importing seaborn library in program
import seaborn as sns
# Importing mataplotlib library to show graph in output
import matplotlib.pyplot as plt
# Setting style with set() function
sns.set(style="dark")
# Using dataset() function to declare data type
FMR = sns.load_dataset("fmri")
# Plotting various responses for different\
# Regions and events
sns.lineplot(x="timepoint",
y="signal",
hue="region",
style="event",
data=FMR) # using lineplot() function to create line plot
plt.show() # using show() function
输出:
说明: 在上面的代码中,设置数据集为fmri类型,并设置折线图的样式后,我们使用lineplot()函数在输出中绘制折线图。
2. 分布图:
我们使用seaborn的分布图来绘制具有给定变量和数据的直方图。我们可以使用分布图绘制带有一些其他变化的直方图,如rugplot和kdeplot。
示例 -
# importing numpy as np library module
import numpy as np
# Importing seaborn library in program
import seaborn as sns
# Importing mataplotlib library to show graph in output
import matplotlib.pyplot as plt
# Selecting style for boxplot with set() function
sns.set(style="white")
# Generate a random univariate type distribution
ru = np.random.RandomState(10)
d = ru.normal(size=100)
# Plotting a simple histogram with kdeplot variation
sns.histplot(d, kde=True, color="m")
plot = sns.histplot(d, kde=True, color="m")
print(plot)
plt.show() # using show() function
输出:
3. Lmplot:
Lmplot是seaborn库中的另一个基本图之一。Lmplot显示代表线性回归模型的线与给定二维(2-D)空间上的数据点。在这个2-D空间中,我们可以将x和y变量分别设置为垂直和水平标签。
示例 -
# Importing seaborn library in program
import seaborn as sns
# Importing matplotlib library to show graph in output
import matplotlib.pyplot as plt
# Using set() function to set style
sns.set(style="ticks")
# Using dataset() function
ds = sns.load_dataset("anscombe")
# Showing results in the form of linear regression
sns.lmplot(x="x", y="y", data=ds)
plot = sns.lmplot(x="x", y="y", data=ds)
print(plot)
plt.show() # using show() function
输出:
<seaborn.axisgrid.FacetGrid object at 0x000002182DC89070>