This Not That is a suite of tools for working with, exploring, and interacting with "data maps". A data map is a two (or three) dimensional representation of higher dimensional vector space data, usually produced by UMAP, t_SNE, or another manifold learning technique. The goal of This Not That is to make it quick and easy to visualize, enrich and interact with data maps. This not that also aims to make it easy to build and deploy simple web-apps on top of data maps to let other users gain access to rich interactive data maps as a means to explore data sets.
This Not That makes it easy to quickly build an interactive data labeller directly in your notebook, allowing you to quickly tag data for further analysis, extract interesting samples, or do an initial round of bulk labelling.
This Not That makes it easy to get an interactive plot of a data map, but also allows you to quickly connect other tools to it, including powerful search utilities, a rich data instance viewer, data tables tied to in-plot selections, and tools for quickly adjusting plot attributes from lists of extra variables.
This Not That also provides a variety of automated solutions for adding textual annotation layers to data maps, providing easier navigation and exploration.
Because This Not That is built on top of the Panel library it is trivial to deploy TNT based solutions as interactive web applications.
This Not That is built on top of Panel and Bokeh, so you will need these installed. In all you will need:
- panel
- bokeh
- numpy >= 1.22
- pandas
- scikit-learn
- matplotlib
- umap-learn
- hdbscan
We also highly recommend installing:
- networkx
- apricot-select
Currently you can pip install directly from this repository:
pip install git+https://github.com/TutteInstitute/thisnotthat
Contributions are more than welcome! There are lots of opportunities for potential projects, so please get in touch if you would like to help out. Everything from code to notebooks to examples and documentation are all equally valuable so please don't feel you can't contribute. We are also keen to hear user stories and suggestions for new Pane's to add to to our catalog. We also welcome contributions to get other plot libraries integrated and working with TNT, including plotly, VTK/PyVista, and others, so if you have expertise with these please consider contributing.
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 into the main branch.
The This Not That package is 2-clause BSD licensed.