如何在matplotlib或seaborn中绘制点图散点图?

3
假设我有这样的一个数据框:
df = pd.DataFrame({'col1': list('aabbb'), 'col2': [1, 3, 1, 5, 3]})

  col1  col2
0    a     1
1    a     3
2    b     1
3    b     5
4    b     3

我希望看到一个图表,其中x轴上只有一次col1名称,y轴上是col2数据,以单独的点表示,因此在'a'上方,我将在高度为1和3处有两个点,在b上方,我将在高度为1、5和3处有三个点。 我的主要问题是,无论我尝试什么,都会在x轴上出现几个a和b,而不是分组。
1个回答

6

根据您的数据和美学偏好,可以选择蜂群图、条形图和散点图等选项。


plt.scatterdf.plot.scatter(最基本的)

plt.scatter(data=df, x='col1', y='col2') # or df.plot.scatter(x='col1', y='col2')
plt.margins(x=0.5)


sns.swarmplot(避免碰撞)

sns.swarmplot(data=df, x='col1', y='col2')


sns.stripplot(随机抖动)

sns.stripplot(data=df, x='col1', y='col2')


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接