import matplotlib.pyplot as plt
from matplotlib.patches import Circle

fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(7.5,3))

#1
cpalette = ['#1b9e77', '#d95f02', '#7570b3']

#2
centers_left = [(0.0,2.5), (2.2,-1.3), (-2.2,-1.3)]
centers_right = [(15.0,2.5), (17.2,-1.3), (12.8,-1.3)]
radius = 3.0

#3
textprops = {'horizontalalignment': 'center', 
             'verticalalignment': 'center', 'fontsize': '35', 
             'color': 'white'}
#4
for idx, center in enumerate(centers_left):
    circle = Circle(xy=center, radius=radius, color=cpalette[idx])
    ax.add_patch(circle)
    ax.text(*center, s=f'{idx}', **textprops)

#5
zorders = [3, 2, 1]
#6
for idx, (center, zorder) in enumerate(zip(centers_right, zorders)):
    circle = Circle(xy=center, radius=radius, color=cpalette[idx],
                    zorder=zorder)
    ax.add_patch(circle)
    ax.text(*center, s=f'{idx}', **textprops)

#7
ax.set_xlim(left=-5.5, right=20.5)
ax.set_ylim(bottom=-4.5, top=5.5)

#8
ax.axis('equal')
ax.axis('off')

fig.savefig('charts/depth-sorting.png', bbox_inches='tight', dpi=300)