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()
相关推荐
星空椰4 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
白露与泡影4 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
凯瑟琳.奥古斯特4 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
风之所往_4 小时前
Python 3.4 新特性全面总结
python
雪度娃娃4 小时前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
太阳上的雨天5 小时前
任何格式的文件转Markdown
python·ai
yaoxin5211235 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
喵星人工作室5 小时前
C++火影忍者1.1.2
开发语言·c++
weixin_468466855 小时前
纳米 AI 搜索新手极速上手指南
人工智能·python·深度学习·搜索引擎·ai·语言模型·自然语言处理
凯瑟琳.奥古斯特6 小时前
数据库原理选择题精选
数据库·python·职场和发展