python制图之小提琴图

提琴图(Violin Plot)是一种结合了箱线图(Box Plot)和核密度估计(Kernel Density Estimation, KDE)的可视化工具,用于展示数据的分布情况和概率密度。它在数据可视化中具有独特的作用.本节我们学习如何使用python绘制提琴图

python 复制代码
# 导入所需的库
import matplotlib.pyplot as plt  # 用于绘图
import numpy as np  # 用于数值计算
import pandas as pd  # 用于数据处理和分析
import seaborn as sns  # 用于高级数据可视化
import matplotlib as mpl  # Matplotlib 的底层库,用于调整绘图参数
import warnings  # 用于处理警告信息

# 忽略警告
warnings.filterwarnings("ignore")  # 忽略运行代码时可能出现的警告,使输出更简洁

# 恢复默认的 Matplotlib 设置
mpl.rcParams.update(mpl.rcParamsDefault)  # 将 Matplotlib 的参数恢复为默认值,避免之前设置的影响
sns.set_style("white")  # 设置 Seaborn 的绘图风格为白色背景

# 示例数据
data = {
    "Age": ["18-24", "18-24", "25-34", "25-34", "35-44", "35-44", "45-54", "45-54", "55+", "55+"],  # 年龄组
    "Unemployed": [120, 150, 90, 100, 80, 95, 70, 85, 60, 75],  # 各年龄组的失业人数
    "Gender": ["Male", "Female", "Male", "Female", "Male", "Female", "Male", "Female", "Male", "Female"]  # 性别
}

# 将数据保存为 Excel 文件
employment = pd.DataFrame(data)  # 将字典数据转换为 Pandas DataFrame
employment.to_excel("unemployment.xlsx", index=False)  # 将 DataFrame 保存为 Excel 文件,不保存索引

# 读取数据
employment = pd.read_excel("unemployment.xlsx")  # 从 Excel 文件中读取数据

# 绘制提琴图
sns.violinplot(
    x=employment.Age,  # x 轴为年龄组
    y=employment.Unemployed,  # y 轴为失业人数
    hue=employment.Gender,  # 按性别分组并着色
    palette='Set2'  # 使用 Seaborn 的 Set2 调色板
)
plt.show()  # 显示图形
相关推荐
会员源码网5 小时前
Python中生成器函数与普通函数的区别
python
Java水解5 小时前
Python开发从入门到精通:Web框架Django实战
后端·python
曲幽7 小时前
FastAPI + PostgreSQL 实战:给应用装上“缓存”和“日志”翅膀
redis·python·elasticsearch·postgresql·logging·fastapi·web·es·fastapi-cache
Lupino10 小时前
别再只聊 AI 写代码了:技术负责人要把“变更治理”提到第一优先级
python·docker·容器
Flittly11 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(6)Context Compact (上下文压缩)
python·agent
曲幽1 天前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
python·sql·postgresql·fastapi·web·postgres·db·asyncpg
用户8356290780511 天前
使用 C# 在 Excel 中创建数据透视表
后端·python
码路飞1 天前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具
python·ai编程·mcp
dev派1 天前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式
python·langchain
前端付豪1 天前
AI 数学辅导老师项目构想和初始化
前端·后端·python