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