prints networkx graphs and large int lists pleasantly to terminal.
import structout as so
so.lprint(range(1000),length=70)
import networkx as nx
g=nx.path_graph(5)
so.gprint(g)
pip install structout
# implemented options: -> i should update this at some point :)
def doALine(values,
length=-1,minmax=False, chunk_operation=max,
method = 'log', methodhow =2)
# there is also a convenience function 'bins' that
# does evenly spaced out bins :)
# this will color nodes 1,2,3 in one color and 4,0 in another
gprint(graph, color=([1,2,3],[4,0]))
- edge labels are always blue
- digraphs should mark the direction with a blue dot
# print nodes with max distance 1 to the nodes 1 and 2
gprint(graph, zoomlevel=1, zoomnodes=[1,2])
nodelabel='label', # node and edge labels
edgelabel='label',
size=10, # size
pos=None, # pass a coordinate dictionary ; {nodeid : x,y}
n_graphs_per_line= 5 # when passing multiple graphs, wrap here
G.-.G.-.G
-. -
G.=.G
- -
G.=.G
- -
G G
- -
G U..... .U
- -..... .- -
A.-.A.-.A.-.A.-.A.-.A.-.A.-.A U.-.U U
= = = = = = -
A.-.A.-.A.-.A.-.A.-.A .U.-.U.-.U.-.U.-.U
- .-
A.=.A
- -
A.=.A.
-. -.
A.-.A
heatmap(matrix,dim = (20,20),operator= np.max, wide = True)
wide makes each symbol take up 2 characters.