气泡大小等于python中的组大小的气泡图

时间:2017-03-03 22:17:25

标签: python matplotlib

想要一个带有气泡大小(或颜色)的散点图(或热图)来显示pandas中每个组的大小。

例如,pandas DataFrame中的数据:

df = pd.DataFrame(np.random.randint(10, size=(100, 2)), columns=['first_col', 'second_col'])
df.groupby(['first_col', 'second_col']).size()

在散点图(或热图)中,x轴为first_col,y轴为second_col,气泡大小等于.size()的结果。

如果答案可以处理超过离散数的连续数,那会更好。在这种情况下,绘图仪可能需要设置 bin大小

1 个答案:

答案 0 :(得分:1)

好吧,自己弄清楚了。

df = pd.DataFrame(np.random.randint(10, size=(1000, 2)), columns=['first_col', 'second_col'])
index = df.groupby(['first_col', 'second_col']).size().index
x = index.map(lambda t: t[0])
y = index.map(lambda t: t[1])
areas = df.groupby(['first_col', 'second_col']).size()
plt.scatter(x, y, s=areas * 3, alpha=0.5)

The plot

不知道如何以更加坎坷的方式提取x坐标和y坐标。