如何使用比例和小提琴图绘制我的数据?
How to plot my data using proportions and violin plots?
假设我让人们在阅读问题时嚼一种口香糖,然后回答测试问题。有时他们会在阅读和回答问题时咀嚼橙子口香糖。有时他们会嚼薄荷。不是每个人都咀嚼并回答了所有问题。
假设我的数据布局如下:
ID
Gum Type
Test (1= correct, 2=incorrect)
1
Orange
1
1
Orange
0
1
Peppermint
0
1
Peppermint
1
2
Orange
0
2
Peppermint
1
我想创建一个小提琴图,在我的 x 轴上,我有口香糖类型,在我的 Y 轴上,我的比例在测试中是正确的,参与者 1 将只显示一个数据Orange 的一个数据点,Peppermint 的一个数据点。因此参与者 1 将作为一个数据点出现在“橙色”小提琴图上,位于中间(50% 的橙色问题是正确的)。
使用:
data = '''ID Gum Type Test (1= correct, 2=incorrect)
1 Orange 1
1 Orange 0
1 Peppermint 0
1 Peppermint 1
2 Orange 0
2 Peppermint 1'''
data = [x.split(' ') for x in data.split('\n')]
import seaborn as sns
df = pd.DataFrame(data[1:], columns = data[0])
df['Test (1= correct, 2=incorrect)'] = df['Test (1= correct, 2=incorrect)'].astype(int)
df1 = df.groupby(['ID', 'Gum Type'])['Test (1= correct, 2=incorrect)'].mean().to_frame().reset_index()
ax = sns.violinplot(x="Gum Type", y="Test (1= correct, 2=incorrect)", data=df1)
输出:
假设我让人们在阅读问题时嚼一种口香糖,然后回答测试问题。有时他们会在阅读和回答问题时咀嚼橙子口香糖。有时他们会嚼薄荷。不是每个人都咀嚼并回答了所有问题。
假设我的数据布局如下:
ID | Gum Type | Test (1= correct, 2=incorrect) |
---|---|---|
1 | Orange | 1 |
1 | Orange | 0 |
1 | Peppermint | 0 |
1 | Peppermint | 1 |
2 | Orange | 0 |
2 | Peppermint | 1 |
我想创建一个小提琴图,在我的 x 轴上,我有口香糖类型,在我的 Y 轴上,我的比例在测试中是正确的,参与者 1 将只显示一个数据Orange 的一个数据点,Peppermint 的一个数据点。因此参与者 1 将作为一个数据点出现在“橙色”小提琴图上,位于中间(50% 的橙色问题是正确的)。
使用:
data = '''ID Gum Type Test (1= correct, 2=incorrect)
1 Orange 1
1 Orange 0
1 Peppermint 0
1 Peppermint 1
2 Orange 0
2 Peppermint 1'''
data = [x.split(' ') for x in data.split('\n')]
import seaborn as sns
df = pd.DataFrame(data[1:], columns = data[0])
df['Test (1= correct, 2=incorrect)'] = df['Test (1= correct, 2=incorrect)'].astype(int)
df1 = df.groupby(['ID', 'Gum Type'])['Test (1= correct, 2=incorrect)'].mean().to_frame().reset_index()
ax = sns.violinplot(x="Gum Type", y="Test (1= correct, 2=incorrect)", data=df1)
输出: