Notes from GraphXD sprints¶
Also see the example folder for concrete code
From discussions with Nelle Varoquaux, Aric Hagberg, and Dan Schult¶
- restrict to ‘small’ networks (few hundred to thousand)
- there are many choices in plotting mapping graph attributes -> visual properties
- (x, y) layout
- colors
- labels
- edges style
- interactivity (hover / pick)
- edge routing
- want to be able to update the plot in response to updating the network
- want to make it easily extensible
- performance?
From discussion with large group of network practitioners¶
- need “seaborn for networks” - heursitics for edge style
- also want “seaborn for network statistics”
- look at igraph - have lots of layout engines
- people tend to use different plots for data exploration vs publication
- functions for different on graph size
- input to layout engine should be flexible
- provide way to go to the bottom!
ball and edge¶
- per-vertex/edges labels
- per-vertex/edges annotation box (maybe?)
- per-vertex/edge artists / subplots - excited about pie charts - do this as roll-over / tool-tip
- mark sub-graphs
- per-node style
- per-edge style - directed edges - un-directed edges - multi-edges - arbitrary path
adjacency matrix view¶
- show adjacency matrix
- show anything at all in the gutters (all 8 places)
trees¶
- dendograms
sankey / flow¶
- this may be better interface to the existing sankey functionality in Matplotlib
initial target cases¶
- re-make jarod’s slides - small (25 nodes)
- a 1000 node random graph - no labels, transparency, color per edge
- A tree of some sort
- splicing graph
- neural networks
- some flow network