Hex size in hexbins based on density of nearby points

I’ve got the following code which produces the following figure

import matplotlib.pyplot as plt
plt.scatter(df['X'], df['Y'], c='#007A33')

Here’s the scatterplot

I graphed the data using hexbins, as noted below

hexbin = ax.hexbin(df['X'], df['Y'],C=df['Color'], bins=20, gridsize=50, cmap=cm.get_cmap('RdYlBu_r'), edgecolors='black')

Here’s the hexbins

I’d like to change the size of the hexagons based on the density of the points plotted in the area that a hexagon covers. For example, the hexagons under the basket (where the points are compact) will be larger than the hexagons to the left of the basket (where the points are sparse). Is there a way to do this?