具有多个类别的箱线图和小提琴图
Posted
技术标签:
【中文标题】具有多个类别的箱线图和小提琴图【英文标题】:Boxplot and violin plot with multiple categories 【发布时间】:2021-12-20 10:50:45 【问题描述】:我有一个化学数据库。它包含 4 个不同类别的不同元素的化学分析。
我对我的 df 做了一个简化的版本,实际上它有更多的元素。
我想绘制比较每个类别的每个元素的箱线图和小提琴图。像这样的:
你会帮我吗?
【问题讨论】:
【参考方案1】:Seaborn 期望 long-form data 每一行对应一个观察结果。
melt
Category
的数据:
melted = df.melt('Category', var_name='Element', value_name='Concentration')
# Category Element Concentration
# 0 A Au 0.1000
# 1 A Au 0.1500
# 2 A Au 0.4000
# 3 B Au 0.1000
# ...
# 10 D Au 1.0000
# 11 A Ag 1.0000
# ...
# 20 D Ag 40.0000
# 21 D Ag 56.0000
将此melted
数据框与boxplot
和violinplot
一起使用:
sns.boxplot(data=melted, x='Element', y='Concentration', hue='Category')
sns.violinplot(data=melted, x='Element', y='Concentration', hue='Category')
【讨论】:
以上是关于具有多个类别的箱线图和小提琴图的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB | 全网最全边际图绘制模板(直方图小提琴图箱线图雨云图散点图... ...)