我想把这个小提琴情节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'
.那么如何根据"成功"栏分割小提琴情节呢?
如果正确理解您的问题,您需要重塑数据帧以使其具有长格式:
df = pd.melt(df, value_vars=['A', 'B'], id_vars='Success') sns.violinplot(x='variable', y='value', hue='Success', data=df) plt.show()