In [30]:
import graph_tool.all as gt
import math
import numpy as np

In [2]:
g = gt.price_network(1000)
pos = gt.radial_tree_layout(g, g.vertex(0))
gt.graph_draw(g, pos=pos, output="graph-draw-radial.png")


Out[2]:
<PropertyMap object with key type 'Vertex' and value type 'vector<double>', for Graph 0x7f5d213ca510, at 0x7f5d213c7b50>

In [19]:
g = gt.price_network(1500)
deg = g.degree_property_map("in")
print(type(deg),type(deg.a))


(<class 'graph_tool.PropertyMap'>, <class 'graph_tool.PropertyArray'>)

In [31]:
deg.a = 4 * (np.sqrt(deg.a) * 0.5 + 0.4)
ebet = gt.betweenness(g)[1]
ebet.a /= ebet.a.max() / 10.
eorder = ebet.copy()
eorder.a *= -1

In [33]:
pos = gt.sfdp_layout(g)
control = g.new_edge_property("vector<double>")
for e in g.edges():
    d = math.sqrt(sum((pos[e.source()].a - pos[e.target()].a) ** 2)) / 5
    control[e] = [0.3, d, 0.7, d]

In [34]:
gt.graph_draw(g, pos=pos, vertex_size=deg, vertex_fill_color=deg, vorder=deg, \
             edge_color=ebet, eorder=eorder, edge_pen_width=ebet, \
              edge_control_points=control, output="graph-draw.pdf")


Out[34]:
<PropertyMap object with key type 'Vertex' and value type 'vector<double>', for Graph 0x7f5d1ed75550, at 0x7f5d1ecb5690>

In [27]:
print g.list_properties()


None

In [ ]: