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()
