# CARTOGRAPHS
Visual Network Exploration in two and three dimensions
---
Networks offer an intuitive visual representation of complex systems. Important network
characteristics can often be recognized by eye and, in turn, patterns that stand out
visually often have a meaningful interpretation. However, conventional network layouts
are difficult to interpret, as they offer no direct connection between node position and
network structure. Here, we propose an approach for directly encoding arbitrary
structural or functional network characteristics into node positions. We introduce a
series of two and three-dimensional layouts, benchmark their efficiency for model
networks, and demonstrate their power for elucidating structure to function
relationships in large-scale biological networks.
---
### ABOUT CARTOGRAPHS
CartoGRAPHs is a python package to generate two- and three-dimensional layouts of networks.
Here you will find Jupyter Notebooks to use our method of visualizing different network characteristics based on
feature modulation and dimensionality reduction.
To get a first glance on the framework, we provide a Quickstarter Notebook with an examplary graph. Additionally
one can dive deeper into real world networks focusing on the Protein Protein Interaction Network.
---
### NETWORK LAYOUTS
The Network Layouts are themed based on different characteristics of a Network. Those can be of structural or functional nature. Additionally we came up with a method to modulate between both, structural and functional features (please find a "hands-on" example in the Notebook "cartoGRAPHs_FeatureModulation.ipynb").
An Overview on the layouts included within the framework:
+ **local layout** > based on node pairwise adjacencies
+ **global layout** > based on network propagation
+ **importance layout** > based on network centrality metrics, such as degree, closeness, betweenness and eigenvector centrality
+ **functional layout** > e.g. based on a *NxM* matrix including *N* nodes in the network and *M* features
+ **combined layouts** > based on modulation between structural and functional features
---
### NETWORK CATEGORIES
To experiment with a diversity of two- and three-dimensional visualizations, we
came up with four different Layout Categories, named after their natural appearance.
+ **2D Network portrait**
+ **3D Network portrait**
+ **3D Topographic Network Map**
+ **3D Geodesic Network Map**
---
### HOW TO CREATE NETWORK VISUALIZATIONS
Check out the provided Jupyter Notebooks in our github repository : https://github.com/menchelab/CartoGRAPHs
**Quickstarter** | *cartoGRAPHs_AQuickStarter.ipynb*
The Quickstarter Notebook contains basic functions to get familiar with the framework and
test different layouts quickly using small network models.
**More Detailed Example** | *cartoGRAPHs_ExemplaryNotebook.ipynb*
**Focus: Feature Modulation** | *cartoGRAPHs_FeatureModulation.ipynb*
**A Biological Network: Human PPI** | *cartoGRAPHs_ManuscriptFigure*.ipynb*