seaborn可视化点图中的点数

时间:2019-06-10 06:37:19

标签: python matplotlib seaborn

如何在seaborn的点图中添加点数?

df = pd.DataFrame({'group':[0,1,1],'percentage':[0.5, .3,.7],'value_group':[1,2,3], 'count':[1, 10, 20]})
df['value_group'] = pd.qcut(df.value_group, 2)
   group  percentage  value_group  count
0      0         0.5            1      1
1      1         0.3            2     10
2      1         0.7            3     20

使用

sns.pointplot(x="value_group", y="percentage", hue="group", data=df)

我得到: enter image description here 但是我想: enter image description here

如何在海洋生物中实现这一目标?

编辑

它们相似,但不相同。我的value_group是使用pd.qcut获得的,引用的代码即无法处理这些问题。

  

python Seaborn - annotations with pointplot

import matplotlib.pyplot as plt
import seaborn as sns

tips = sns.load_dataset("tips")
ax = sns.pointplot(x="time", y="total_bill", hue="smoker", data=tips)

for c in ax.collections:
    for of in c.get_offsets():
        ax.annotate("Label", of)

plt.show()

看起来很有趣,但是到目前为止,我还不知道如何将正确的标签/索引与我的计数相匹配。

1 个答案:

答案 0 :(得分:1)

我在想这个问题并不平凡。由于您使用过hue="group",所以图中有两个组,因此ax.collections的长度为2。因此,为了使注释具有正确的顺序,我使用了粘性索引{{1} }。

您可以压缩要显示的偏移量和DataFrame值,并使用for循环将其注释为

j

enter image description here