SEABORN库函数(第十八节课内容总结)
1.residplot():残差
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression# 生成示例数据
np.random.seed(0)
x = np.random.rand(100)
y = 2 * x + np.random.randn(100)# 创建DataFrame
df = pd.DataFrame({'x': x, 'y': y})# 残差图
sns.residplot(x='x', y='y', data=df, lowess=True)
plt.show()
2.boxenplot():盒须
#盒须图
sns.boxenplot(y=y)
plt.show()
3.sawrmplot():蜂群
#蜂群图
sns.swarmplot(x=x)
plt.show()
4.factorplot():因子
sns.catplot(x='x', y='y', kind='strip', data=df)
plt.show()
5.kdeplot():核密度
sns.kdeplot(y)
plt.show()
6.rugplot():地毯
sns.rugplot(y)
plt.show()
7.sns.jointplot():双变量
sns.jointplot(x='x', y='y', data=df, kind='reg') # kind可以是'scatter', 'reg', 'kde', 'hex'
plt.show()
8.sns.pairplot():多变量
# 添加更多变量以展示pairplot的效果
z = np.random.randn(100)
df['z'] = z# 使用pairplot绘制多变量关系图
sns.pairplot(df)
plt.show()
9.sns.set_style():绘制风格
sns.set_style("darkgrid")# 绘制一个简单的图来展示风格
sns.lineplot(x=[0, 1, 2], y=[0, 1, 0])
plt.show()
10.sns.set.context():绘图上下文
sns.set_context("talk")# 绘制一个简单的图来展示上下文
sns.lineplot(x=[0, 1, 2], y=[0, 1, 0])
plt.show()
11.sns.lmplot():线性模型图表
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd# 生成示例数据
np.random.seed(0)
df = pd.DataFrame({'x': np.random.rand(100),'y': 2 * np.random.rand(100) + np.random.randn(100)
})# 创建线性模型图表
sns.lmplot(x='x', y='y', data=df, height=6, aspect=1.5, ci=None)# 显示图表
plt.show()
12.sns.countplot():计数柱状图
import seaborn as sns
import matplotlib.pyplot as plt# 创建一个示例数据集
data = ['A', 'B', 'A', 'C', 'B', 'B', 'A', 'C', 'A', 'C', 'C']
categories = ['A', 'B', 'C']# 将数据转换为 DataFrame
df = pd.DataFrame({'Category': data})# 使用 countplot 绘制计数柱状图
sns.countplot(x='Category', data=df)# 添加标题和标签
plt.title('Count Plot of Categories')
plt.xlabel('Category')
plt.ylabel('Count')# 显示图表
plt.show()
13.sns.stripplot():带状散点图
# import seaborn as sns
import matplotlib.pyplot as plt# 创建示例数据
data = ["A", "A", "A", "B", "B", "B", "C", "C", "C"]
values = [1, 2, 3, 2, 3, 1, 3, 2, 1]# 绘制带状散点图
sns.stripplot(x=data, y=values)# 显示图表
plt.show()
14.sns.ecdfplot():经验积累分布
import seaborn as sns
import matplotlib.pyplot as plt# 创建示例数据
data = [1, 2, 2, 3, 4, 5, 6, 7, 8, 9]# 绘制经验累积分布图(ECDF)
sns.ecdfplot(data)# 显示图表
plt.show()
15.sns.clustermap():聚类热力图
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np# 创建示例数据
data = np.random.rand(10, 12) # 10行12列的随机数据# 绘制聚类热力图
sns.clustermap(data, cmap="coolwarm", figsize=(10, 8))# 显示图表
plt.show()
16.sns.palplot():调色板展示
import seaborn as sns
import matplotlib.pyplot as plt# 定义一个色彩方案
palette = sns.color_palette("husl", 8)# 使用 palplot 展示色彩方案
sns.palplot(palette)# 显示图表
plt.show()
17.sns.histplot():二维直方图
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np# 创建示例数据
x = np.random.normal(0, 1, 100)
y = np.random.normal(0, 1, 100)# 绘制二维直方图
plt.figure(figsize=(8, 6))
sns.histplot(x=x, y=y, bins=20, cmap="viridis")# 显示图表
plt.show()
18.sns.facegrid():分面容器
# 创建分面图容器
g = sns.FacetGrid(data, col="time", row="sex", margin_titles=True)
g.map(sns.histplot, "total_bill")# 显示图表
plt.show()
19.sns.set_palette():全局配色
import seaborn as sns
import matplotlib.pyplot as plt# 定义一个色彩方案
palette = sns.color_palette("husl", 8)# 使用 palplot 展示色彩方案
sns.palplot(palette)# 显示图表
plt.show()
20.sns.regplot():单轴回归
21.sns.barplot():比较不同类别的数值
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np# 创建模拟数据
np.random.seed(42)
data = pd.DataFrame({'category': np.repeat(['A', 'B', 'C'], 50),'value': np.concatenate([np.random.normal(5, 1, 50),np.random.normal(7, 1.5, 50),np.random.normal(6, 1.2, 50)])
})# 绘制带置信区间的条形图
plt.figure(figsize=(8, 6))
ax = sns.barplot(x='category', y='value', data=data,errorbar=('ci', 95), # 使用 errorbar 参数代替 ci 参数capsize=0.1 # 误差条帽长度
)plt.title('Bar Plot with Confidence Intervals', fontsize=14)
plt.ylabel('Value', fontsize=12)
sns.despine()
plt.show()
22.sns.light_palette():色彩管理 创建浅色渐变调色
import seaborn as sns
import matplotlib.pyplot as plt# 定义一个色彩方案
palette = sns.color_palette("husl", 8)# 使用 palplot 展示色彩方案
sns.palplot(palette)# 显示图表
plt.show()
23.sns.cubehelix_palette():色彩管理 创建螺旋渐变调色板
import seaborn as sns
import matplotlib.pyplot as plt# 创建螺旋渐变调色板
palette = sns.cubehelix_palette(n_colors=8, start=0.5, rot=-0.5, dark=0.3, light=0.8)# 可视化调色板
plt.figure(figsize=(10, 2))
sns.palplot(palette)
plt.title('Cubehelix Palette (start=0.5, rot=-0.5)', fontsize=14)
plt.show()