当前位置:  开发笔记 > 编程语言 > 正文

Seaborn,每列一个数据的小提琴情节

如何解决《Seaborn,每列一个数据的小提琴情节》经验,为你挑选了1个好方法。

我想把这个小提琴情节http://seaborn.pydata.org/generated/seaborn.violinplot.html(第四个例子,带有split = True)与这个http://seaborn.pydata.org/examples/elaborate_violinplot结合起来. HTML.

实际上,我有一个带有列Success(是或否)和几个数据列的dataFrame .例如 :

df = pd.DataFrame(
    {"Success": 50 * ["Yes"] + 50 * ["No"], 
     "A": np.random.randint(1, 7, 100), 
     "B": np.random.randint(1, 7, 100)}
)

    A  B Success
0   6  4     Yes
1   6  2     Yes
2   1  1     Yes
3   1  2     Yes
.. .. ..     ...
95  4  4      No
96  2  1      No
97  2  6      No
98  2  3      No
99  2  1      No

我想为每个数据列绘制一个小提琴图.它适用于:

import seaborn as sns
sns.violinplot(data=df[["A", "B"]], inner="quartile", bw=.15)

但是现在,我想根据Success专栏分开小提琴.但是,使用hue="Success"我的错误Cannot use 'hue' without 'x' or 'y'.那么如何根据"成功"栏分割小提琴情节呢?



1> Phlya..:

如果正确理解您的问题,您需要重塑数据帧以使其具有长格式:

df = pd.melt(df, value_vars=['A', 'B'], id_vars='Success')
sns.violinplot(x='variable', y='value', hue='Success', data=df)
plt.show()

在此输入图像描述

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有