Python 数据帧的点框图

Python 数据帧的点框图,python,matplotlib,pandas,seaborn,Python,Matplotlib,Pandas,Seaborn,Pandas中的数据帧有一个方法,但是有没有办法在Pandas中创建点框图,或者使用其他方法 所谓点箱线图,我指的是显示图内实际数据点(或相关样本)的箱线图,如下面的示例(在R中获得) 有关OP的问题(与熊猫)的更准确答案: 旧版本(更通用): 使用matplotlib: import numpy as np import matplotlib.pyplot as plt a = np.random.normal(0,2,1000) b = np.random.normal(-2,7,10

Pandas中的数据帧有一个方法,但是有没有办法在Pandas中创建点框图,或者使用其他方法

所谓点箱线图,我指的是显示图内实际数据点(或相关样本)的箱线图,如下面的示例(在R中获得)


有关OP的问题(与熊猫)的更准确答案:


旧版本(更通用):

使用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)
由此得出:

灵感来自


希望这有帮助

使用
stripplot
功能,seaborn版本0.6(目前在github的主分支中)可以实现这一点。下面是一个例子:

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")

这就是你想要的吗?谢谢@pss我知道。我的问题是关于点框图的。我想知道是否有一种简单的方法可以在以后添加点(注意点沿着
x
轴的随机性,以便更容易地看到它们)使用
matplotlib
中的自定义绘图,将其作为
ax
参数输入pandas.boxplot,然后在同一个绘图中绘制点图。感谢@CTZhu,我无法跟踪该链接(Github上的404错误)(如果您只是粘贴链接,它应该可以工作)为什么我要将其粘贴为代码?对此很抱歉。python中的Beeswarm绘图:
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")