首页 > 解决方案 > seaborn violinplot 和 boxplot 并排

问题描述

我想将 seaborn vilonplot 与箱线图并排比较。这是我的数据集示例:

   group     points
0      A  12.432848
1      A  13.246483
2      A  13.812403
3      A  13.212260
4      A  15.307191
5      B  13.464179
6      B  11.695743
7      B  12.197824
8      B  13.892186
9      B   9.586561
10     C  18.071026
11     C  18.522597
12     C  17.649151
13     C  18.266435
14     C  17.088155

我知道我可以得到箱线图sns.boxplot(data=df, x="group", y="points", hue="group")和小提琴图,sns.violinplot(data=df, x="group", y="points", hue="group")但我喜欢它们,半箱线图和半小提琴图,如图所示 我想得到这个,但一半小提琴图一半箱线图

谢谢你的帮助

标签: pythonseabornboxplotviolin-plot

解决方案


您没有像您展示的图像那样具有三个维度。我相信你只是想要:

import pandas as pd
import seaborn as sns

example_data = (
    pd.DataFrame(
        [
         ['A', 12],
         ["A", 15],
         ["A", 18],
         ["B", 11],
         ["B", 10],
         ["B", 8]
        ]
    )
)

example_data.columns = ['group', 'points']

sns.set_style('whitegrid')
sns.violinplot(
    data=example_data,
    x='group',
    y='points'
)

输出:

小提琴情节

我会参考https://seaborn.pydata.org/generated/seaborn.violinplot.html以获得进一步的定制和文档


推荐阅读