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()
相关推荐
chenglin0163 分钟前
制造业ERP系统架构设计方案(基于C#生态)
开发语言·系统架构·c#
凌晨7点7 分钟前
控制建模matlab练习13:线性状态反馈控制器-②系统的能控性
开发语言·matlab
要记得喝水21 分钟前
汇编中常用寄存器介绍
开发语言·汇编·windows·c#·.net
shi578336 分钟前
C# 常用的线程同步方式
开发语言·后端·c#
凌晨7点43 分钟前
控制建模matlab练习11:伯德图
开发语言·matlab
码农派大星。1 小时前
Selenium在Pyhton应用
python·selenium·测试工具
freed_Day1 小时前
Java学习进阶--集合体系结构
java·开发语言·学习
day>day>up1 小时前
django uwsgi启动报错failed to get the Python codec of the filesystem encoding
后端·python·django
Shun_Tianyou2 小时前
Python Day25 进程与网络编程
开发语言·网络·数据结构·python·算法
嫩萝卜头儿2 小时前
从零掌握 Java AWT:原理、实战与性能优化
java·开发语言·性能优化