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()
相关推荐
HalvmånEver16 小时前
Linux的第二章 : 基础的指令(二)
linux·运维·服务器·开发语言·学习
egoist202316 小时前
[linux仓库]线程同步与生产者消费者模型[线程·陆]
linux·c语言·开发语言·线程同步·阻塞队列·生产者消费者模型
资深web全栈开发18 小时前
[特殊字符]图解 Golang 反射机制:从底层原理看动态类型的秘密
开发语言·后端·golang
CAE32018 小时前
基于机器学习的智能垃圾短信检测超强系统
人工智能·python·机器学习·自然语言处理·垃圾短信拦截
MarcoPage19 小时前
Python 字典推导式入门:一行构建键值对映射
java·linux·python
独隅1 天前
在 Lua 中,你可以使用 `os.date()` 函数轻松地将时间戳转换为格式化的时间字符串
开发语言·lua
思麟呀1 天前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
星释1 天前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释1 天前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
lkbhua莱克瓦241 天前
Java基础——集合进阶3
java·开发语言·笔记