Contour Plot based on gene expression or score

Hii

I am trying to replicate contour plots depicting expression of a gene over UMAP such as this :

Source Publication : https://www.sciencedirect.com/science/article/pii/S1074761320303587?via%3Dihub

I tried getting X and Y coordinates of UMAP as a list and then use sc.get.obs_df to get a list of expression values of a given gene. Then I used matplotlib.tricontour to plot, however, it looks weird. I am not getting circular contour levels. Example of plot I am getting with tricontour

image

Does anyone know how to make similar plot using matplotlib?