Ame*_*ina 12 python matplotlib pandas seaborn
在大熊猫Dataframes有一个箱线图的方法,但没有任何方法来创建点箱线在熊猫,或以其他方式seaborn?
通过点框图,我的意思是一个箱线图,它显示了图中的实际数据点(或它们的相关样本),例如下面的例子(在R中获得).

jrj*_*rjc 16
有关OP问题的更准确答案(使用Pandas):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.DataFrame({ "A":np.random.normal(0.8,0.2,20),
"B":np.random.normal(0.8,0.1,20),
"C":np.random.normal(0.9,0.1,20)} )
data.boxplot()
for i,d in enumerate(data):
y = data[d]
x = np.random.normal(i+1, 0.04, len(y))
plt.plot(x, y, mfc = ["orange","blue","yellow"][i], mec='k', ms=7, marker="o", linestyle="None")
plt.hlines(1,0,4,linestyle="--")
Run Code Online (Sandbox Code Playgroud)

旧版本(更通用):
使用matplotlib:
import numpy as np
import matplotlib.pyplot as plt
a = np.random.normal(0,2,1000)
b = np.random.normal(-2,7,100)
data = [a,b]
plt.boxplot(data) # Or you can use the boxplot from Pandas
for i in [1,2]:
y = data[i-1]
x = np.random.normal(i, 0.02, len(y))
plt.plot(x, y, 'r.', alpha=0.2)
Run Code Online (Sandbox Code Playgroud)
这给了:

灵感来自本教程
希望这可以帮助 !
mwa*_*kom 12
使用该stripplot函数可以使用seaborn版本0.6(目前在github上的master分支中).这是一个例子:
import seaborn as sns
tips = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", data=tips)
sns.stripplot(x="day", y="total_bill", data=tips,
size=4, jitter=True, edgecolor="gray")
Run Code Online (Sandbox Code Playgroud)
