I like this dot plot (Figure a) for showing marker gene expression patterns for the clusters. Any ideas about how to make this plot with ggplot2? Some pseudocode would be enough.

![enter image description here][1]


  [1]: https://media.springernature.com/full/springer-static/image/art%3A10.1038%2Fs41467-020-19737-2/MediaObjects/41467_2020_19737_Fig2_HTML.png?as=webp
Use `dittoDotPlot` from the [dittoSeq](https://bioconductor.org/packages/release/bioc/vignettes/dittoSeq/inst/doc/dittoSeq.html#561_dittoDotPlot) package. Much easier than from scratch. The resulting plot is still a ggplot2 object, so you can customize as you'd like. Though the function itself is also quite flexible. Works natively on SingleCellExperiment, Seurat, or SummarizedExperiment objects and can use gene expression and/or continuous metadata variables as desired.

So all you'd have to do is grab your top 5 markers for each cluster or what have you and feed them in along with your data object:

    your_markers <- c("Gfap", "Vim", "Aqp4")
    dittoDotPlot(sce_seurat_or_se_object, your_markers, group.by = "cluster_metadata_column") + coord_flip()