Seaborn库是在Matplotlib基础上进行了更高级的封装,使得数据可视化更加简单和美观。
以下是Seaborn库中常用的几种统计图形类型:
-
散点图(Scatter plot):使用
seaborn.scatterplot()
函数可以绘制散点图,用于展示两个连续变量之间的关系。 -
折线图(Line plot):使用
seaborn.lineplot()
函数可以绘制折线图,用于展示连续变量随着另一个变量的变化而变化的趋势。 -
柱状图(Bar plot):使用
seaborn.barplot()
函数可以绘制柱状图,用于展示分类变量之间的比较。 -
箱线图(Box plot):使用
seaborn.boxplot()
函数可以绘制箱线图,用于展示一组数据的分布情况,包括中位数、四分位数和异常值等。 -
热力图(Heatmap):使用
seaborn.heatmap()
函数可以绘制热力图,用于展示两个分类变量之间的相关性。 - 直方图(Histogram):使用
sns.histplot()
函数来绘制直方图。直方图将数值范围分成多个间隔(bin),并计算每个间隔内的观测值数量。直方图的x轴表示数值范围,y轴表示观测值数量。 - 密度图(Density Plot):使用
sns.kdeplot()
函数来绘制核密度估计图。密度图通过平滑的曲线来估计数值变量的概率密度函数。密度图的x轴表示数值范围,y轴表示概率密度。 - 树状图: sns.clustermap():绘制树状图,用于展示数据集中观察之间的相似性,并按照相似性分组
除了以上几种常见的统计图形类型,Seaborn还提供了其他一些更高级的图形类型,如密度图(Density plot)、面积图(Area plot)和小提琴图(Violin plot)等。这些图形类型可以根据数据集的特点进行选择和定制,使得数据可视化更加直观和有趣。
下面是使用Seaborn库绘制常见统计图形的一些示例:
- 散点图:
import seaborn as sns
import matplotlib.pyplot as plt
# 生成示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 绘制散点图
sns.scatterplot(x=x, y=y)
plt.show()
2.折线图:
import seaborn as sns
import matplotlib.pyplot as plt
# 生成示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 绘制折线图
sns.lineplot(x=x,y=y)
plt.show()
3.柱状图:
import seaborn as sns
import matplotlib.pyplot as plt
# 生成示例数据
x = ['A', 'B', 'C', 'D']
y = [10, 15, 7, 12]
# 绘制柱状图
sns.barplot(x=x, y=y)
plt.show()
4.箱线图:
import seaborn as sns
import matplotlib.pyplot as plt
# 生成示例数据
data = [1, 2, 3, 4, 5]
# 绘制箱线图
sns.boxplot(data)
plt.show()
5.热力图:
import seaborn as sns
import matplotlib.pyplot as plt
# 生成示例数据
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 绘制热力图
sns.heatmap(data, annot=True)
plt.show()
6.直方图(Histogram):使用sns.histplot()
函数来绘制直方图。直方图将数值范围分成多个间隔(bin),并计算每个间隔内的观测值数量。直方图的x轴表示数值范围,y轴表示观测值数量。
#import seaborn as sns
# 绘制直方图
#sns.histplot(data=df, x='column_name')
import seaborn as sns
import numpy as np
# 创建一个随机数值变量
data = np.random.randn(1000)
# 绘制直方图
sns.histplot(data, bins=30)
其中,data
参数指定要绘制的数据集,x
参数指定要绘制的数值变量所在的列名。
- 密度图(Density Plot):使用
sns.kdeplot()
函数来绘制核密度估计图。密度图通过平滑的曲线来估计数值变量的概率密度函数。密度图的x轴表示数值范围,y轴表示概率密度。
同样,data
参数指定要绘制的数据集,x
参数指定要绘制的数值变量所在的列名。
1.树状图: sns.clustermap()
import seaborn as sns
import numpy as np
# 创建一个随机数据集
data = np.random.rand(10, 10)
# 绘制树状图
sns.clustermap(data)
2.成对关系图: sns.pairplot():
#import seaborn as sns
#import pandas as pd
# 读取数据集
#data = pd.read_csv('data.csv')
# 绘制成对关系图
#sns.pairplot(data)
import seaborn as sns
import pandas as pd
# 创建一个包含多个数值变量的数据集
data = pd.DataFrame({'var1': [1, 2, 3, 4, 5],
'var2': [2, 4, 6, 8, 10],
'var3': [3, 6, 9, 12, 15]})
# 绘制成对关系图
sns.pairplot(data)