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()  # 显示图形
相关推荐
名字还没想好☜4 小时前
Python itertools 实战:用 groupby、chain、islice 优雅处理大数据流
linux·windows·python·迭代器·itertools
威联通网络存储4 小时前
TS-h2490FU在面板制造Array段AOI缺陷画廊中的并联
python·制造
Wang's Blog5 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
接针5 小时前
UV 常用命令
python·uv
无垠的广袤6 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
Yolanda_20227 小时前
在vscode终端中可使用pip,但是cmd终端中找不到命令 pip问题的解决
vscode·python·conda·pip
2301_764441337 小时前
用动力学系统(微分方程)为 Kernberg 的客体关系单元提供数学化的操作定义,把“自体—客体“这对心理结构建模成一个二维耦合系统
数据结构·python·算法·数学建模
吃好睡好便好7 小时前
MATLAB中图像的读取、写入和显示
开发语言·图像处理·学习·计算机视觉·matlab
dogstarhuang8 小时前
用 Doubao-Seed-Evolving + Python 免费写一个网页正文提取工具(实战教程)
爬虫·python·ai编程
yaoxin5211238 小时前
476. Java 反射 - 调用方法
java·开发语言