Python 中的比较箱线图
Comparative Boxplot in Python
我有一个 pandas
数据框类似于以下内容
names
x 3.5
x 3.7
z 2.8
x 3.4
y 3.25
z 2.9
...
我想制作一个比较箱线图(x
、y
和 z
中的每个箱线图彼此相邻的三个箱线图。我正在使用 seaborn
包,我只能得到所有值组合的箱线图。我做错了什么?
b = sns.boxplot(data = dat);
我想你可以这样画 side by side boxplot:
import pandas as pd
import seaborn as sns
from io import StringIO
data = """
names,num
x,3.5
x,3.7
z,2.8
x,3.4
y,3.25
z,2.9
"""
df = pd.read_csv(StringIO(data), header=0)
to_replace = {0:'x', 1:'y', 2:'z'}
df['names'] = df['names'].replace(to_replace=to_replace)
order = ["x", "y", "z"]
sns.boxplot(x="names", y="num", data=df, order=order)
这是箱线图:
参考文献:
我有一个 pandas
数据框类似于以下内容
names
x 3.5
x 3.7
z 2.8
x 3.4
y 3.25
z 2.9
...
我想制作一个比较箱线图(x
、y
和 z
中的每个箱线图彼此相邻的三个箱线图。我正在使用 seaborn
包,我只能得到所有值组合的箱线图。我做错了什么?
b = sns.boxplot(data = dat);
我想你可以这样画 side by side boxplot:
import pandas as pd
import seaborn as sns
from io import StringIO
data = """
names,num
x,3.5
x,3.7
z,2.8
x,3.4
y,3.25
z,2.9
"""
df = pd.read_csv(StringIO(data), header=0)
to_replace = {0:'x', 1:'y', 2:'z'}
df['names'] = df['names'].replace(to_replace=to_replace)
order = ["x", "y", "z"]
sns.boxplot(x="names", y="num", data=df, order=order)
这是箱线图:
参考文献: