Skip to content

TutteInstitute/datamapplot

Repository files navigation

DataMapPlot logo

DataMapPlot

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.

Static Plot Examples

Some examples of the kind of output that DataMapPlot can provide.

A basic plot, with some highlighted labels:

A data map plot of the CORD-19 dataset

Using darkmode and some custom font choices:

A data map plot of papers from ArXiv ML

With labels over points in a word-cloud style:

A word cloud style data map plot of papers from ArXiv ML

Alternative custom styling:

A data map plot of Simple Wikipedia

Custom arrow styles, fonts, and colour maps:

A styled data map plot of papers from ArXiv ML

Interactive Plot Examples

Some example videos of interacting with the interactive html plots.

Animation of searching and zooming on ArXiv data

Animation of zooming and panning on CORD19 data

Animation of panning and zooming on Wikipedia data

Animation of searching and zooming on CORD19 data

Basic Usage

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.

Documentation

Full documentation for DataMapPlot is available on ReadTheDocs.

Installation

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

License

DataMapPlot is MIT licensed. See the LICENSE file for details.

Help and Support

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.

Contributing

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.