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()  # 显示图形
相关推荐
Gofarlic_oms14 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
AI+程序员在路上5 小时前
VS Code 完全使用指南:下载、安装、核心功能与 内置AI 编程助手实战
开发语言·人工智能·windows·开源
invicinble5 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
catchadmin6 小时前
使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径
开发语言·php·laravel
wbs_scy6 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
m0_674294646 小时前
如何编写SQL存储过程性能对比_记录执行时间评估优化效果
jvm·数据库·python
运气好好的7 小时前
怎样开启phpMyAdmin的操作审计日志_记录每条执行的SQL
jvm·数据库·python
郑州光合科技余经理7 小时前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php
2401_871492858 小时前
Layui如何修改Layui默认的UI主题颜色(换肤功能实现)
jvm·数据库·python