Python 数据帧的点框图
Pandas中的数据帧有一个方法,但是有没有办法在Pandas中创建点框图,或者使用其他方法 所谓点箱线图,我指的是显示图内实际数据点(或相关样本)的箱线图,如下面的示例(在R中获得)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
有关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")