Skip to content

Commit

Permalink
added some thoughts
Browse files Browse the repository at this point in the history
  • Loading branch information
benmaier committed Apr 20, 2019
1 parent c054550 commit 106badd
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 8 deletions.
15 changes: 7 additions & 8 deletions paper/paper.bib
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@

@inproceedings{bastian_gephi:_2009,
@inproceedings{gephi,
title = {Gephi: {An} {Open} {Source} {Software} for {Exploring} and {Manipulating} {Networks}},
url = {http://www.aaai.org/ocs/index.php/ICWSM/09/paper/view/154},
abstract = {Jacomy},
author = {Bastian, Mathieu and Heymann, Sebastien and Jacomy, Mathieu},
year = {2009}
}

@article{wapman_webweb:_2019,
@article{webweb,
title = {webweb: a tool for creating, displaying, and sharing interactive network visualizations on the web},
shorttitle = {webweb},
journal = {Journal of Open Source Software},
author = {Wapman, Hunter K and Larremore, Daniel B},
year = {2019}
}

@article{hunter_matplotlib:_2007,
@article{matplotlib,
title = {Matplotlib: {A} 2D graphics environment},
volume = {9},
doi = {10.1109/MCSE.2007.55},
Expand All @@ -27,7 +27,7 @@ @article{hunter_matplotlib:_2007
pages = {90--95}
}

@article{bostock_d3:_2011,
@article{d3,
title = {D3: {Data}-{Driven} {Documents}},
volume = {17},
number = {12},
Expand All @@ -36,7 +36,7 @@ @article{bostock_d3:_2011
year = {2011}
}

@book{aric_a._hagberg_exploring_2008,
@book{networkx,
address = {Pasadena, CA USA},
title = {Exploring network structure, dynamics, and function using {NetworkX}},
volume = {7},
Expand All @@ -46,13 +46,12 @@ @book{aric_a._hagberg_exploring_2008
year = {2008}
}

@inproceedings{ellson_graphviz_2001,
@inproceedings{graphviz,
title = {Graphviz {\textemdash} open source graph drawing tools},
abstract = {Graphviz is a heterogeneous collection of graph drawing tools containing batch layout programs (dot, neato, fdp, twopi); a platform for incremental layout (Dynagraph); customizable graph editors (dotty, Grappa); a server for including graphs in Web pages (WebDot); support for graphs as COM objects (Montage); utility programs useful in graph visualization; and libraries for attributed graphs. The software is available under an Open Source license. The article[1] provides a detailed description of the package. The Graphviz software began with a precursor of dot in 1988, followed by neato in the early 90{\textquoteright}s. The features expanded greatly over the years, driven by user request. Graphviz became Open Source in 2000, and was recently distributed on about 500,000 CDROMs as an add-on package for the SUSE Linux release, and is redistributed by Debian, Mandrake, SourceForge, and soon OpenBSD. 2 Areas of Application Thanks to the variety of components available and its open, {\textquotedblleft}toolkit {\textquotedblright} design, Graphviz supports a wide variety of applications. The foremost application is probably presentation layouts, such as including graphs in papers. As stream processors, the Graphviz tools can be used as co-processes with interactive components to provide dynamic layouts for debuggers, process monitors, program analysis software, etc. Graphviz tools have been adopted as a visualization service by the W3C Resource Description Framework},
booktitle = {Lecture {Notes} in {Computer} {Science}},
publisher = {Springer-Verlag},
author = {Ellson, John and Gansner, Emden and Koutsofios, Lefteris and North, Stephen and Woodhull, Gordon and Description, Short and Technologies, Lucent},
year = {2001},
pages = {483--484},
file = {Citeseer - Full Text PDF:/Users/bfmaier/Zotero/storage/LS2KQZ99/Ellson et al. - 2001 - Graphviz {\textemdash} open source graph drawing tools.pdf:application/pdf;Citeseer - Snapshot:/Users/bfmaier/Zotero/storage/IXILUSLA/summary.html:text/html}
}
}
72 changes: 72 additions & 0 deletions paper/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: Netwulf: Interactive visualization of networks in Python # maybe you have a better title
tags:
- Python
- JavaScript
- networks
- visualization
- interactive
authors:
- name: Ulf Aslak
orcid: 0000-0000-0000-0000
affiliation: "1, 2" # (Multiple affiliations must be quoted)
- name: Benjamin F. Maier
orcid: 0000-0001-7414-8823
affiliation: "3, 4"
affiliations:
- name : Centre for Social Data Science, University of Copenhagen, DK-1353 København K
index: 1
- name : DTU Compute, Technical University of Denmark, DK-2800 Kgs. Lyngby
index: 2
- name: Robert Koch-Institute, Nordufer 20, D-13353 Berlin
index: 3
- name: Department of Physics, Humboldt-University of Berlin, Newtonstr. 15, D-12489 Berlin
index: 4
date: 20 April 2018
bibliography: paper.bib
---

# Summary

I'm just collecting some thoughts here

* visualizing networks is an important part of communicating their structure
* there already exist several tools to explore/visualize networks and their structure and properties.
* "networkx" [@networkx] is the most commonly used Python package for network analysis
* it provides visualization functions which are either slow or inconvenient as they
rely on third-party dependencies like "graphviz" [@graphviz], and use a
a variety of parameters. These parameters then have to be manually scanned,
reproducing a new visualization for every changed parameter.
* Gephi [@gephi] is mostly focused on both interactive analysis and visualization.
However, networks must be saved and loaded as separate files. Java has to be installed.
an automated view of a network which was previously manipulated in Python is not possbile
* Webweb [@webweb] provides an interactive visualization for Python network objects based
on the force layout of d3.js [@d3], however
its main purpose is exploration of network features
and single-time visualizations:
the stylized network and visualization parameters may not be saved to reproduce
Further, a variety of styling parameters are only accessible through its API
which again may provide difficulties when trying to find the optimal visualization.
* Netwulf provides a simple interactive interface to stylize a network which was previously
manipulated in Python.
* Its philosophy is that network manipulation should be done programmatically (i.e. in Python)
but the efficient generation of a visually pleasing network representation should be
done manually
* Its main purpose is to easily generate both a network visualization
and find the optimal visualization parameters to reproduce the visualization. To this end, both are
saved to objects in the Python instance running Netwulf.
* It further provides functionality to
redraw the visualization in Python using matplotlib [@matplotlib] to save it as a vector graphic
or image in arbitrary resolution.
* more description


# Figures

![Interactive visualization of a modular network in Netwulf.](random_partition_graph.png)

# Acknowledgements

Both authors contributed equally to the software, documentation, and manuscript. B. F. M. is financially supported as an *Add-On Fellow for Interdisciplinary Life Science* by the Joachim Herz Stiftung.

# References
Binary file added paper/random_partition_graph.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 106badd

Please sign in to comment.