Getting started
tmap is a very fast visualization library for large, highdimensional data sets. Currently, tmap is available for Python.
NEW: We now provide a webservice that allows for the creaton of TMAP visualizations for small chemical data sets.
Supported Environments
Language  Operating System  Status 

Python  Linux  Available 
Windows  Available^{1}  
macOS  Available  
R  Available^{2} 
^{1}Works with
WSL
^{2}Through the reticulate R interface to
Python.
Installation
tmap is installed using the conda package manager. Don't have conda? Download miniconda.
conda install c tmap tmap
We suggest using faerun to plot the data layed out by tmap. But you can of course also use matplotlib (which might be to slow for large data sets and doesn't provide interactive features). Following, an example plot produced with tmap and matplotlib.
pip install faerun
# pip install matplotlib
Laying out a Simple Graph
Even though TMAP is mainly targeted at tasks consisting of laying out very large data sets as trees, the simplest usage example is laying out a graph.
This example produces a matplotlib plot displaying the graph.
When laying out large graphs, it might be useful to discard some
edges in order to create a more interpretable and visually
pleasing layout. This is achieved using the (default) argument
create_mst=True
. Following,
this is exemplified on a small graph.
This example produces a matplotlib plot displaying the graph and it's spanning tree. In the plot on the left, the spanning tree is highlighted by coloring the edges red. The thickness of the edges is inversely related to the edge weight.
On a highly connected graph with 1000 vertices, the advantages of the tree visualizaton method applied by TMAP become obvious.
There are a wide array of options to tune the final tree layout to your linking. See Layout for the descriptions of all available parameters.
MinHash
To enable the visualization of larger data sets, it is necessary to speed up the knearest neighbor graph generation. While in general, any approach can be used to create this nearest neighbor graph (see Laying out a Simple Graph), tmap provides a builtin LSH Forest data structure, which enables extremely fast knearest neighbor queries.
In order to index data in the LSH forest data structure, it has to be hashed using a locality sensitive scheme such as MinHash.
tmap includes the two classes
Minhash
and
LSHForest
for fast knearest
neighbor search.
The following example shows how to use the
Minhash
class to estimate
Jaccard distances.
python minhash.py
0.390625
0.140625
LSH Forest
The hashes generated by
Minhash
can be indexed using
LSHForest
for fast knearest
neighbor retreival.
python lsh_forest.py
Generating the data took 1164.400289999321ms.
Encoding the data took 155.53330996772274ms.
Adding the data took 17.799988971091807ms.
Indexing took 4.7386749647557735ms.
The kNN search took 0.26249000802636147ms.
After indexing the data, the 10 nearest neighbor search on a
million 1,000dimensional vectors took ~0.32ms. In addition, the
LSHForest
class also supports
the parallelized generation of a knearest neighbor graph using
the method get_knn_graph()
.
python lsh_forest_knng.py
Generating the data took 1171.7670540092513ms.
Adding the data took 189.09973296104ms.
Indexing took 5.959620990324765ms.
The kNN search took 311.5222750348039ms.
Using matplotlib / pyplot has tow main disadvantages: It is slow and does not yield interactive plots. For this reason, we suggest to use the Python package Faerun for large scale data sets. Faerun supports millions of data points in webbased visualizations.
Together with tmap, Faerun can easily create visualizations of more than 10 million data points including associated web links and structure drawings for high dimensional chemical data sets within an hour.
Examples
COIL 20
Data set dimensions: 1,440×16,384
Source
MNIST
Data set dimensions: 70,000×764
Source
Fashion MNIST
Data set dimensions: 70,000×764
Source
ChEMBL
Data set dimensions: 1,159,881×2^{32}
Source
FDB17 and ChEMBL
Data set dimensions: 11,261,085×2^{32}
Natural Product Atlas
Data set dimensions: 24,594×2^{32}
Source
DSSTox
Data set dimensions: 848,816×2^{32}
Source
Protein DataBank
Data set dimensions: 131,236×136
RNA Sequencing Data
Data set dimensions: 800×1,022
Source
ProteomeHD
Data set dimensions: 5,013×5,013
Source
PubMed Central
Data set dimensions: 327,628×1,633,762
Source
MiniBooNE
Data set dimensions: 130,065×50
Source
Gutenberg
Data set dimensions: 3,036×1,217,078
Source
NIPS Conference Papers
Data set dimensions: 7,241×225,423
Source
Drugbank
Data set dimensions: 9,300×2^32
Source
Flowcytometry
Data set dimensions: 436,877×14
Source
moleculenet.ai
Quantum Mechanics
 QM8Source Electronic spectra and excited state energy of small molecules calculated by multiple quantum mechanic methods.
 QM9source Geometric, energetic, electronic and thermodynamic properties of DFTmodelled small molecules.
Physical Chemistry
 ESOLsource Water solubility data(log solubility in mols per litre) for common organic small molecules.
 FreeSolvsource Experimental and calculated hydration free energy of small molecules in water.
 Lipophilicitysource Experimental results of octanol/water distribution coefficient(logD at pH 7.4).
Biophysics
 PCBA (Due to the number of variables in this data set, please run the linked script to generated the visualizations locally) Selected from PubChem BioAssay, consisting of measured biological activities of small molecules generated by highthroughput screening.
 MUVsource Subset of PubChem BioAssay by applying a refined nearest neighbor analysis, designed for validation of virtual screening techniques.
 HIVsource Experimentally measured abilities to inhibit HIV replication.
 PDBbindsource Binding affinities for biomolecular complexes, both structures of proteins and ligands are provided.
 BACEsource Quantitative (IC50) and qualitative (binary label) binding results for a set of inhibitors of human βsecretase 1(BACE1).
Physiology
 BBBPsource Binary labels of bloodbrain barrier penetration(permeability).
 Tox21source Qualitative toxicity measurements on 12 biological targets, including nuclear receptors and stress response pathways.
 ToxCastsource Toxicology data for a large library of compounds based on in vitro highthroughput screening, including experiments on over 600 tasks.
 SIDERsource Database of marketed drugs and adverse drug reactions (ADR), grouped into 27 system organ classes.
 ClinToxsource Qualitative data of drugs approved by the FDA and those that have failed clinical trials for toxicity reasons.
Documentation
Minhash

class
tmap.
Minhash
(self: tmap.Minhash, d: int=128, seed: int=42, sample_size: int=128) → None¶ 
A generator for MinHash vectors that supports binary, indexed, string and also
int
andfloat
weighted vectors as input.Constructor for the class
Minhash
. Keyword Arguments


d (
int
) – The number of permutations used for hashing 
seed (
int
) – The seed used for the random number generator(s) 
sample_size (
int
) – The sample size when generating a weighted MinHash


batch_from_binary_array
(self: tmap.Minhash, arg0: List[tmap.VectorUchar]) → List[tmap.VectorUint]¶ 
Create MinHash vectors from binary arrays (parallelized).
 Parameters

vec (
List
ofVectorUchar
) – A list of vectors containing binary values  Returns

A list of MinHash vectors
 Return type

List
ofVectorUint

batch_from_int_weight_array
(self: tmap.Minhash, arg0: List[tmap.VectorUint]) → List[tmap.VectorUint]¶ 
Create MinHash vectors from
int
arrays, where entries are weights rather than indices of ones (parallelized). Parameters

vec (
List
ofVectorUint
) – A list of vectors containingint
values  Returns

A list of MinHash vectors
 Return type

List
ofVectorUint

batch_from_sparse_binary_array
(self: tmap.Minhash, arg0: List[tmap.VectorUint]) → List[tmap.VectorUint]¶ 
Create MinHash vectors from sparse binary arrays (parallelized).
 Parameters

vec (
List
ofVectorUint
) – A list of vectors containing indices of ones in a binary array  Returns

A list of MinHash vectors
 Return type

List
ofVectorUint

batch_from_string_array
(self: tmap.Minhash, arg0: List[List[str]]) → List[tmap.VectorUint]¶ 
Create MinHash vectors from string arrays (parallelized).
 Parameters

vec (
List
ofList
ofstr
) – A list of list of strings  Returns

A list of MinHash vectors
 Return type

List
ofVectorUint

batch_from_weight_array
(self: tmap.Minhash, vecs: List[tmap.VectorFloat], method: str='ICWS') → List[tmap.VectorUint]¶ 
Create MinHash vectors from
float
arrays (parallelized). Parameters

vec (
List
ofVectorFloat
) – A list of vectors containingfloat
values  Keyword Arguments

method (
str
) – The weighted hashing method to use (ICWS or I2CWS)  Returns

A list of MinHash vectors
 Return type

List
ofVectorUint

from_binary_array
(self: tmap.Minhash, arg0: tmap.VectorUchar) → tmap.VectorUint¶ 
Create a MinHash vector from a binary array.
 Parameters

vec (
VectorUchar
) – A vector containing binary values  Returns

A MinHash vector
 Return type

VectorUint

from_sparse_binary_array
(self: tmap.Minhash, arg0: tmap.VectorUint) → tmap.VectorUint¶ 
Create a MinHash vector from a sparse binary array.
 Parameters

vec (
VectorUint
) – A vector containing indices of ones in a binary array  Returns

A MinHash vector
 Return type

VectorUint

from_string_array
(self: tmap.Minhash, arg0: List[str]) → tmap.VectorUint¶ 
Create a MinHash vector from a string array.
 Parameters

vec (
List
ofstr
) – A vector containing strings  Returns

A MinHash vector
 Return type

VectorUint

from_weight_array
(self: tmap.Minhash, vec: tmap.VectorFloat, method: str='ICWS') → tmap.VectorUint¶ 
Create a MinHash vector from a
float
array. Parameters

vec (
VectorFloat
) – A vector containingfloat
values  Keyword Arguments

method (
str
) – The weighted hashing method to use (ICWS or I2CWS)  Returns

A MinHash vector
 Return type

VectorUint

get_distance
(self: tmap.Minhash, arg0: tmap.VectorUint, arg1: tmap.VectorUint) → float¶ 
Calculate the Jaccard distance between two MinHash vectors.
 Parameters


vec_a (
VectorUint
) – A MinHash vector 
vec_b (
VectorUint
) – A MinHash vector

 Returns

float
The Jaccard distance

get_weighted_distance
(self: tmap.Minhash, arg0: tmap.VectorUint, arg1: tmap.VectorUint) → float¶ 
Calculate the weighted Jaccard distance between two MinHash vectors.
 Parameters


vec_a (
VectorUint
) – A weighted MinHash vector 
vec_b (
VectorUint
) – A weighted MinHash vector

 Returns

float
The Jaccard distance
LSHForest

class
tmap.
LSHForest
(self: tmap.LSHForest, d: int=128, l: int=8, store: bool=True, file_backed: bool=False, weighted: bool=False) → None¶ 
A LSH forest data structure which incorporates optional linear scan to increase the recovery performance. Most query methods are available in parallelized versions named with a
batch_
prefix.Constructor for the class
LSHForest
. Keyword Arguments


d (
int
) – The dimensionality of the MinHashe vectors to be added 
l (
int
) – The number of prefix trees used when indexing data 
store (
bool
) – Store the data for enhanced querying 
file_backed (
bool
) – Whether to store the data on disk rather than in main memory (experimental)


add
(self: tmap.LSHForest, arg0: tmap.VectorUint) → None¶ 
Add a MinHash vector to the LSH forest.
 Parameters

vecs (
VectorUint
) – A MinHash vector that is to be added to the LSH forest

batch_add
(self: tmap.LSHForest, arg0: List[tmap.VectorUint]) → None¶ 
Add a list MinHash vectors to the LSH forest (parallelized).
 Parameters

vecs (
List
ofVectorUint
) – A list of MinHash vectors that is to be added to the LSH forest

batch_query
(self: tmap.LSHForest, arg0: List[tmap.VectorUint], arg1: int) → List[tmap.VectorUint]¶ 
Query the LSH forest for knearest neighbors (parallelized).
 Parameters


vecs (
List
ofVectorUint
) – The query MinHash vectors 
k (
int
) – The number of nearest neighbors to be retrieved

 Returns

The results of the queries
 Return type

List
ofVectorUint

clear
(self: tmap.LSHForest) → None¶ 
Clears all the added data and computed indices from this
LSHForest
instance.

get_all_distances
(self: tmap.LSHForest, arg0: tmap.VectorUint) → tmap.VectorFloat¶ 
Calculate the Jaccard distances of a MinHash vector to all indexed MinHash vectors.
 Parameters

vec (
VectorUint
) – The query MinHash vector  Returns

The Jaccard distances
 Return type

List
offloat

get_all_nearest_neighbors
(self: tmap.LSHForest, k: int, kc: int=10) → tmap.VectorUint¶ 
Get the knearest neighbors of all indexed MinHash vectors.
 Parameters

k (
int
) – The number of nearest neighbors to be retrieved  Keyword Arguments

kc (
int
) – The factor by whichk
is multiplied for LSH forest retreival  Returns

VectorUint
The ids of all knearest neighbors

get_distance
(self: tmap.LSHForest, arg0: tmap.VectorUint, arg1: tmap.VectorUint) → float¶ 
Calculate the Jaccard distance between two MinHash vectors.
 Parameters


vec_a (
VectorUint
) – A MinHash vector 
vec_b (
VectorUint
) – A MinHash vector

 Returns

float
The Jaccard distance

get_distance_by_id
(self: tmap.LSHForest, arg0: int, arg1: int) → float¶ 
Calculate the Jaccard distance between two indexed MinHash vectors.
 Parameters


a (
int
) – The id of an indexed MinHash vector 
b (
int
) – The id of an indexed MinHash vector

 Returns

float
The Jaccard distance

get_hash
(self: tmap.LSHForest, arg0: int) → tmap.VectorUint¶ 
Retrieve the MinHash vector of an indexed entry given its index. The index is defined by order of insertion.
 Parameters

a (
int
) – The id of an indexed MinHash vector  Returns

VectorUint
The MinHash vector

get_knn_graph
(self: tmap.LSHForest, from: tmap.VectorUint, to: tmap.VectorUint, weight: tmap.VectorFloat, k: int, kc: int=10) → None¶ 
Construct the knearest neighbor graph of the indexed MinHash vectors. It will be written to out parameters
from
,to
, andweight
as an edge list. Parameters


from (
VectorUint
) – A vector to which the ids for the from vertices are written 
to (
VectorUint
) – A vector to which the ids for the to vertices are written 
weight (
VectorFloat
) – A vector to which the edge weights are written 
k (
int
) – The number of nearest neighbors to be retrieved during the construction of the knearest neighbor graph

 Keyword Arguments

kc (
int
) – The factor by whichk
is multiplied for LSH forest retreival

get_weighted_distance
(self: tmap.LSHForest, arg0: tmap.VectorUint, arg1: tmap.VectorUint) → float¶ 
Calculate the weighted Jaccard distance between two MinHash vectors.
 Parameters


vec_a (
VectorUint
) – A weighted MinHash vector 
vec_b (
VectorUint
) – A weighted MinHash vector

 Returns

float
The Jaccard distance

get_weighted_distance_by_id
(self: tmap.LSHForest, arg0: int, arg1: int) → float¶ 
Calculate the Jaccard distance between two indexed weighted MinHash vectors.
 Parameters


a (
int
) – The id of an indexed weighted MinHash vector 
b (
int
) – The id of an indexed weighted MinHash vector

 Returns

float
The weighted Jaccard distance

index
(self: tmap.LSHForest) → None¶ 
Index the LSH forest. This has to be run after each time new MinHashes were added.

is_clean
(self: tmap.LSHForest) → bool¶ 
Returns a boolean indicating whether or not the LSH forest has been indexed after the last MinHash vector was added.
 Returns

True
ifindex()
has been run since MinHash vectors have last been added usingadd()
orbatch_add()
.False
otherwise  Return type

bool

linear_scan
(self: tmap.LSHForest, vec: tmap.VectorUint, indices: tmap.VectorUint, k: int=10) → List[Tuple[float, int]]¶ 
Query a subset of indexed MinHash vectors using linear scan.
 Parameters


vec (
VectorUint
) – The query MinHash vector 
indices (
VectorUint
) –

 Keyword Arguments

k (
int
) – The number of nearest neighbors to be retrieved  Returns

The results of the query
 Return type

List
ofTuple[float, int]

query
(self: tmap.LSHForest, arg0: tmap.VectorUint, arg1: int) → tmap.VectorUint¶ 
Query the LSH forest for knearest neighbors.
 Parameters


vec (
VectorUint
) – The query MinHash vector 
k (
int
) – The number of nearest neighbors to be retrieved

 Returns

The results of the query
 Return type

VectorUint

query_by_id
(self: tmap.LSHForest, arg0: int, arg1: int) → tmap.VectorUint¶ 
Query the LSH forest for knearest neighbors.
 Parameters


id (
int
) – The id of an indexed MinHash vector 
k (
int
) – The number of nearest neighbors to be retrieved

 Returns

The results of the query
 Return type

VectorUint

query_exclude
(self: tmap.LSHForest, arg0: tmap.VectorUint, arg1: tmap.VectorUint, arg2: int) → tmap.VectorUint¶ 
Query the LSH forest for knearest neighbors.
 Parameters


vec (
VectorUint
) – The query MinHash vector 
exclude (
List
ofVectorUint
) – 
k (
int
) – The number of nearest neighbors to be retrieved

 Returns

The results of the query
 Return type

VectorUint

query_exclude_by_id
(self: tmap.LSHForest, arg0: int, arg1: tmap.VectorUint, arg2: int) → tmap.VectorUint¶ 
Query the LSH forest for knearest neighbors.
 Parameters


id (
int
) – The id of an indexed MinHash vector 
exclude (
List
ofVectorUint
) – 
k (
int
) – The number of nearest neighbors to be retrieved

 Returns

The results of the query
 Return type

VectorUint

query_linear_scan
(self: tmap.LSHForest, vec: tmap.VectorUint, k: int, kc: int=10) → List[Tuple[float, int]]¶ 
Query knearest neighbors with a LSH forest / linear scan combination.
k`*:obj:`kc
nearest neighbors are searched for using LSH forest; from these, thek
nearest neighbors are retrieved using linear scan. Parameters


vec (
VectorUint
) – The query MinHash vector 
k (
int
) – The number of nearest neighbors to be retrieved

 Keyword Arguments

kc (
int
) – The factor by whichk
is multiplied for LSH forest retreival  Returns

The results of the query
 Return type

List
ofTuple[float, int]

query_linear_scan_by_id
(self: tmap.LSHForest, id: int, k: int, kc: int=10) → List[Tuple[float, int]]¶ 
Query knearest neighbors with a LSH forest / linear scan combination.
k`*:obj:`kc
nearest neighbors are searched for using LSH forest; from these, thek
nearest neighbors are retrieved using linear scan. Parameters


id (
int
) – The id of an indexed MinHash vector 
k (
int
) – The number of nearest neighbors to be retrieved

 Keyword Arguments

kc (
int
) – The factor by whichk
is multiplied for LSH forest retreival  Returns

The results of the query
 Return type

List
ofTuple[float, int]

query_linear_scan_exclude
(self: tmap.LSHForest, vec: tmap.VectorUint, k: int, exclude: tmap.VectorUint, kc: int=10) → List[Tuple[float, int]]¶ 
Query knearest neighbors with a LSH forest / linear scan combination.
k`*:obj:`kc
nearest neighbors are searched for using LSH forest; from these, thek
nearest neighbors are retrieved using linear scan. Parameters


vec (
VectorUint
) – The query MinHash vector 
k (
int
) – The number of nearest neighbors to be retrieved

 Keyword Arguments


exclude (
List
ofVectorUint
) – 
kc (
int
) – The factor by whichk
is multiplied for LSH forest retreival

 Returns

The results of the query
 Return type

List
ofTuple[float, int]

query_linear_scan_exclude_by_id
(self: tmap.LSHForest, id: int, k: int, exclude: tmap.VectorUint, kc: int=10) → List[Tuple[float, int]]¶ 
Query knearest neighbors with a LSH forest / linear scan combination.
k`*:obj:`kc
nearest neighbors are searched for using LSH forest; from these, thek
nearest neighbors are retrieved using linear scan. Parameters


id (
int
) – The id of an indexed MinHash vector 
k (
int
) – The number of nearest neighbors to be retrieved

 Keyword Arguments


exclude (
List
ofVectorUint
) – 
kc (
int
) – The factor by whichk
is multiplied for LSH forest retreival

 Returns

The results of the query
 Return type

List
ofTuple[float, int]

restore
(self: tmap.LSHForest, arg0: str) → None¶ 
Deserializes a previously serialized (using
store()
) state into this instance ofLSHForest
and recreates the index. Parameters

path (
str
) – The path to the file which is deserialized

size
(self: tmap.LSHForest) → int¶ 
Returns the number of MinHash vectors in this LSHForest instance.
 Returns

The number of MinHash vectors
 Return type

int
Layout
 layout_from_lsh_forest(lsh_forest: tmap::LSHForest, config: tmap.LayoutConfiguration=tmap.LayoutConfiguration(), create_mst: bool=True, clear_lsh_forest: bool=False, weighted: bool=False) → Tuple[tmap.VectorFloat, tmap.VectorFloat, tmap.VectorUint, tmap.VectorUint, tmap.GraphProperties]

Create minimum spanning tree or knearest neighbor graph coordinates and topology from an
LSHForest
instance. Parameters
 Keyword Arguments


config (
LayoutConfiguration
, optional) – AnLayoutConfiguration
instance 
create_mst (
bool
): Whether to create a minimum spanning tree or to return coordinates and topology for the knearest neighbor graph clear_lsh_forest (bool
) – Whether to runclear()
on theLSHForest
instance after knearest neighbor graph and MST creation and before layout

config (
 Returns

The x and y coordinates of the vertices, the ids of the vertices spanning the edges, and information on the graph
 Return type

Tuple[VectorFloat, VectorFloat, VectorUint, VectorUint, GraphProperties]
 layout_from_edge_list(vertex_count: int, edges: List[Tuple[int, int, float]], config: tmap.LayoutConfiguration=tmap.LayoutConfiguration(), create_mst: bool=True) → Tuple[tmap.VectorFloat, tmap.VectorFloat, tmap.VectorUint, tmap.VectorUint, tmap.GraphProperties]

Create minimum spanning tree or knearest neighbor graph coordinates and topology from an edge list.
 Parameters

vertex_count (
int
): The number of vertices in the edge list edges (List
ofTuple[int, int, float]
) – An edge list defining a graph  Keyword Arguments:


config (
LayoutConfiguration
, optional) – AnLayoutConfiguration
instance 
create_mst (
bool
) – Whether to create a minimum spanning tree or to return coordinates and topology for the knearest neighbor graph

config (
 Returns

The x and y coordinates of the vertices, the ids of the vertices spanning the edges, and information on the graph
 Return type

Tuple[VectorFloat, VectorFloat, VectorUint, VectorUint, GraphProperties]

tmap.
mst_from_lsh_forest
(lsh_forest: tmap::LSHForest, k: int, kc: int=10, weighted: bool=False) → Tuple[tmap.VectorUint, tmap.VectorUint]¶ 
Create minimum spanning tree topology from an
LSHForest
instance. Parameters
 Keyword Arguments


kc (int) – The scalar by which k is multiplied before querying the LSH forest. The results are then ordered decreasing based on linearscan distances and the top k results returned

weighted (
bool
) – Whether the MinHash vectors in theLSHForest
instance are weighted

 Returns

the topology of the minimum spanning tree of the data indexed in the LSH forest
 Return type

Tuple[VectorUint, VectorUint]

class
tmap.
ScalingType
(self: tmap.ScalingType, arg0: int) → None¶ 
The scaling types available in OGDF. The class is to be used as an enum.
Notes
The available values are
ScalingType.Absolute
: Absolute factor, can be used to scale relative to level size change.ScalingType.RelativeToAvgLength
: Scales by a factor relative to the average edge weights.ScalingType.RelativeToDesiredLength
: Scales by a factor relative to the disired edge length.ScalingType.RelativeToDrawing
: Scales by a factor relative to the drawing.

class
tmap.
Placer
(self: tmap.Placer, arg0: int) → None¶ 
The places available in OGDF. The class is to be used as an enum.
Notes
The available values are
Placer.Barycenter
: Places a vertex at the barycenter of its neighbors’ position.Placer.Solar
: Uses information of the merging phase of the solar merger. Places a new vertex on the direct line between two suns.Placer.Circle
: Places the vertices in a circle around the barycenter and outside of the current drawingPlacer.Median
: Places a vertex at the median position of the neighbor nodes for each coordinate axis.Placer.Random
: Places a vertex at a random position within the smallest circle containing all vertices around the barycenter of the current drawing.Placer.Zero
: Places a vertex at the same position as its representative in the previous level.

class
tmap.
Merger
(self: tmap.Merger, arg0: int) → None¶ 
The mergers available in OGDF. The class is to be used as an enum.
Notes
The available values are
Merger.EdgeCover
: Based on the matching merger. Computes an edge cover such that each contained edge is incident to at least one unmatched vertex. The cover edges are then used to merge their adjacent vertices.Merger.LocalBiconnected
: Based on the edge cover merger. Avoids distortions by checking whether biconnectivity will be lost in the local neighborhood around the potential merging position.Merger.Solar
: Vertices are partitioned into solar systems, consisting of sun, planets and moons. The systems are then merged into the sun vertices.Merger.IndependentSet
: Uses a maximal independent set filtration. See GRIP for details.

class
tmap.
LayoutConfiguration
(self: tmap.LayoutConfiguration) → None¶ 
A container for configuration options for
layout_from_lsh_forest()
andlayout_from_edge_list()
.
int k

The number of nearest neighbors used to create the knearest neighbor graph.
 Type

int

int kc

The scalar by which k is multiplied before querying the LSH forest. The results are then ordered decreasing based on linearscan distances and the top k results returned.
 Type

int

int fme_iterations

Maximum number of iterations of the fast multipole embedder.
 Type

int

bool fme_randomize

Whether or not to randomize the layout at the start.
 Type

bool

int fme_threads

The number of threads for the fast multipole embedder.
 Type

int

int fme_precision

The number of coefficients of the multipole expansion.
 Type

int

int sl_repeats

The number of repeats of the scaling layout algorithm.
 Type

int

int sl_extra_scaling_steps

Sets the number of repeats of the scaling.
 Type

int

double sl_scaling_min

The minimum scaling factor.
 Type

float

double sl_scaling_max

The maximum scaling factor.
 Type

float

ScalingType sl_scaling_type

Defines the (relative) scale of the graph.
 Type

int mmm_repeats

Number of repeats of the perlevel layout algorithm.
 Type

int

Placer placer

The method by which the initial positons of the vertices at eachlevel are defined.
 Type

Merger merger

The vertex merging strategy applied during the coarsening phaseof the multilevel algorithm.
 Type

double merger_factor

The ratio of the sizes between two levels up to which the mergingis run. Does not apply to all merging strategies.
 Type

float

int merger_adjustment

The edge length adjustment of the merging algorithm. Does notapply to all merging strategies.
 Type

int

float node_size

The size of the nodes, which affects the magnitude of their repellingforce. Decreasing this value generally resolves overlaps in a verycrowded tree.
 Type

float
Constructor for the class
LayoutConfiguration
.
__init__
(self: tmap.LayoutConfiguration) → None¶ 
Constructor for the class
LayoutConfiguration
.


class
tmap.
GraphProperties
(self: tmap.GraphProperties) → None¶ 
Contains properties of the minimum spanning tree (or forest) generated by
layout_from_lsh_forest()
andlayout_from_edge_list()
.
mst_weight
¶ 
The total weight of the minimum spanning tree.
 Type

float

n_connected_components
¶ 
The number of connected components in the minimum spanning forest.
 Type

int

n_isolated_vertices
¶ 
 Type

int

degrees
¶ 
The degrees of all vertices in the minimum spanning tree (or forest).
 Type

VectorUint

adjacency_list
¶ 
The adjaceny lists for all vertices in the minimum spanning tree (or forest).
 Type

List
ofVectorUint
Constructor for the class
GraphProperties
.
__init__
(self: tmap.GraphProperties) → None¶ 
Constructor for the class
GraphProperties
.
