Creating beautiful plots of data maps. DataMapPlot is a small library designed to help you make beautiful data map plots for inclusion in presentations, posters and papers. The focus is on producing static plots, or simple interactive plots, that are great looking with as little work for you as possible. All you need to do is label clusters of points in the data map and DataMapPlot will take care of the rest. While this involves automating most of the aesthetic choices, the library provides a wide variety of ways to customize the resulting plot to your needs.
Some examples of the kind of output that DataMapPlot can provide.
A basic plot, with some highlighted labels:
Using darkmode and some custom font choices:
With labels over points in a word-cloud style:
Alternative custom styling:
Custom arrow styles, fonts, and colour maps:
Some example videos of interacting with the interactive html plots.
DataMapPlot is very easy to use. There are essentially only two functions: create_plot and create_interactive_plot. They take coordinates of a data map, and an array or list of labels for the data points. A variety of further options can be used to customise the output. A basic example might look something like:
import datamapplot
datamapplot.create_plot(data_map_coords, data_map_labels, **style_keywords)
Please see the documentation for full details on usage and options.
Full documentation for DataMapPlot is available on ReadTheDocs.
DataMapPlot requires a few libraries, but all are widely available and easy to install:
- Numpy
- Matplotlib
- Scikit-learn
- Pandas
- Datashader
- Scikit-image
- Numba
- Requests
- Jinja2
To install DataMapPlot you can use pip:
pip install datamapplot
or use conda with conda-forge
conda install -c conda-forge datamapplot
DataMapPlot is MIT licensed. See the LICENSE file for details.
Documentation is at Read the Docs. The documentation includes a FAQ that may answer your questions. If you still have questions then please open an issue and I will try to provide any help and guidance that I can. Please read the code of conduct for acceptable behaviour in issue and PR discussions.
Contributions are more than welcome! If you have ideas for features or projects please get in touch. Everything from code to notebooks to examples and documentation are all equally valuable so please don't feel you can't contribute. To contribute please fork the project make your changes and submit a pull request. We will do our best to work through any issues with you and get your code merged in.
We would like to note that the DataMapPlot package makes heavy use of NumFOCUS sponsored projects, and would not be possible without their support of those projects, so please consider contributing to NumFOCUS.