How to create dotplot as in scanpy example (heatmap + open dots)?

Hi! I am wondering how to create a dotplot like the one shown on the right, where the dots are overlayed on a matrixplot? (image taken from the example shown in the scanpy documentation for dotplot). Thanks!