一个强大的python库!!
2023-09-11 深夜努力写Python
加入收藏
核心点:seaborn,更高级、更便捷、更美观!
seaborn
建立在 Matplotlib 的基础上的,提供了更高级、更美观、更易用的接口,用于创建各种统计图表和信息可视化!
Seaborn 的可视化无论是从视觉感官上还是操作上,都是相对来说比较高级,真心好用的那种!
聊聊关于 Seaborn 的一些主要特点,有利于后续的使用:
1、高级接口:Seaborn 提供了一组高级函数和方法,可以使得创建常见的统计图表变得简单,例如散点图、线性回归图、箱线图、直方图、核密度估计图、热图等等。无需像 Matplotlib 一样写大量的代码;
2、内置数据集:Seaborn 包含了一些内置的示例数据集,这些数据集可以用于练习和演示。这些数据集通常与示例图表一起使用,以帮助用户更好地理解如何使用 Seaborn 创建可视化。
3、统计图表:Seaborn 支持许多常用的统计图表类型,如散点图、折线图、条形图、箱线图、热图、小提琴图、分类散点图、成对关系图等。这些图表可以用于分析数据的分布、趋势、关系等方面。
4、配色方案:Seaborn 提供了一组美观的默认配色方案,使图表更具吸引力。此外,还可以轻松自定义配色方案,以满足特定需求。
5、高级统计功能:Seaborn 提供了用于绘制统计摘要信息的函数,例如回归线、置信区间、误差棒图等。这些功能有助于更深入地理解数据。
6、对 Pandas 数据框的支持:Seaborn 可以与 Pandas 数据框无缝集成,使数据的导入、转换和可视化变得更加方便。
7、主题和风格:Seaborn 允许用户选择不同的图表主题和样式,以满足不同的审美和出版需求。
今天会举一些案例,那么涉及到哪几类图表呢?有...有有这些~
喜欢的朋友,无论是数据分析师、机器学习者、数据计算的朋友,都可以关注一下!
安装起来
有需要数据集的朋友,可以通过后台回复“数据集”进行获取!
catplot
使用sns.catplot
函数,并将kind
参数设置为"bar"。
绘制 Iris 数据集中不同物种的花瓣长度(petal_length):
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建catplot并绘制barplots
sns.catplot(x="species", y="petal_length", data=iris, kind="bar")
plt.xlabel("Species")
plt.ylabel("Petal Length")
plt.title("Barplots of Petal Length by Species")
plt.show()
创建的 catplot 图,x轴表示不同的物种(species),y轴表示花瓣长度(petal_length),并绘制了各个物种的平均花瓣长度的barplots。
violinplot
下面是一个示例代码,演示了如何绘制Iris数据集中各个物种的萼片长度(sepal_length)的violinplot:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建violinplot
sns.violinplot(x="species", y="sepal_length", data=iris)
plt.title("Violin Plot of Sepal Length by Species")
plt.xlabel("Species")
plt.ylabel("Sepal Length")
plt.show()
其中x轴表示不同的物种(species),y轴表示萼片长度(sepal_length)。
violinplot显示了每个物种的分布情况,包括分布的形状和密度。
histplot
下面的代码演示了如何绘制Iris数据集中不同物种的萼片长度(sepal_length)的直方图:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建histplot
sns.histplot(data=iris, x="sepal_length", hue="species", bins=10, kde=True)
plt.title("Histogram of Sepal Length by Species")
plt.xlabel("Sepal Length")
plt.ylabel("Frequency")
plt.legend(title="Species")
plt.show()
其中 x 轴表示萼片长度(sepal_length),y 轴表示频率(出现次数)。
不同物种的数据会以不同的颜色进行区分,可以看到它们的分布情况。
bins
参数控制直方图的箱子数量,kde=True
添加了核密度估计曲线以平滑显示分布情况。
jointplot
下面是演示如何绘制Iris数据集中两个特征(sepal_length和sepal_width)的联合分布图:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建jointplot
sns.jointplot(data=iris, x="sepal_length", y="sepal_width", kind="scatter")
plt.xlabel("Sepal Length")
plt.ylabel("Sepal Width")
plt.show()
x 轴表示萼片长度(sepal_length),y 轴表示萼片宽度(sepal_width)。
可以使用kind
参数来指定不同类型的jointplot,例如"scatter"(散点图)或"kde"(双变量核密度估计图),显示两个变量之间的关系。
heatmap
通常,heatmap
用于可视化矩阵数据中各个元素的相对大小。
以下演示如何绘制Iris数据集中各个数值特征的相关性热图:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 计算相关性矩阵
correlation_matrix = iris.corr()
# 创建热图
sns.heatmap(correlation_matrix, annot=True, cmap="coolwarm", linewidths=0.5)
plt.title("Correlation Heatmap of Iris Dataset")
plt.show()
上面代码中,首先使用corr()
函数计算了Iris数据集中数值特征之间的相关性矩阵。
然后,使用sns.heatmap
来绘制相关性热图,其中annot=True
表示在热图中显示数值标签,cmap
参数用于指定颜色地图,linewidths
参数用于指定单元格之间的边框宽度。
lineplot
通常,lineplot用于显示两个连续变量之间的趋势或关系。
下面代码演示绘制Iris数据集中某两个数值特征之间的线图:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建lineplot
sns.lineplot(data=iris, x="sepal_length", y="sepal_width", hue="species")
plt.xlabel("Sepal Length")
plt.ylabel("Sepal Width")
plt.title("Line Plot of Sepal Length vs. Sepal Width by Species")
plt.show()
示例绘制了萼片长度(sepal_length)与萼片宽度(sepal_width)之间的线图,并使用hue
参数将数据按物种分组以在同一图中显示不同物种的趋势。
stripplot
stripplot通常用于显示类别数据和数值数据之间的关系,通过散点图展示每个数据点的分布。
下面代码演示绘制Iris数据集中不同物种的萼片长度(sepal_length)的stripplot:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建stripplot
sns.stripplot(x="species", y="sepal_length", data=iris)
plt.xlabel("Species")
plt.ylabel("Sepal Length")
plt.title("Strip Plot of Sepal Length by Species")
plt.show()
创建的 stripplot 图,x轴表示不同的物种(species),y轴表示萼片长度(sepal_length)。
每个数据点用散点表示,展示了不同物种之间的分布情况。
boxplot
下面代码演示绘制Iris数据集中不同物种的萼片长度(sepal_length)的boxplot:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建boxplot
sns.boxplot(x="species", y="sepal_length", data=iris)
plt.xlabel("Species")
plt.ylabel("Sepal Length")
plt.title("Box Plot of Sepal Length by Species")
plt.show()
创建的 boxplot 图,x轴表示不同的物种(species),y轴表示萼片长度(sepal_length)。
boxplot图展示了每个物种的萼片长度分布,包括中位数、四分位数和离群值。
pairplot
pairplot用于可视化数据集中多个数值特征之间的关系。
代码演示绘制Iris数据集中的pairplot图:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = sns.load_dataset("iris")
# 创建pairplot
sns.pairplot(iris, hue="species")
plt.show()
这将创建一个包含所有数值特征的 pairplot 图,其中不同物种的数据用不同的颜色进行区分(使用hue="species"
)。
pairplot 图在数据集中的每对特征之间绘制散点图,对角线上绘制直方图或核密度估计图。
最后
今天介绍了 seaborn 的一些核心的使用方式。
另外,更多可视化展现方式以及使用技巧可以从官方文档获取以及实战中领略!
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多python库相关>>>