To obtain a different color for every type of vertex I use argument
vcolor=g.vp["typev"]
where the vertex property "typev" is of type int, it works just fine
My problem is with edge colors: I have an edge property called g.ep["typee"] but it is of type vector<short>, in fact it is a list of three elements and it is the second one that I need to define the color of every edge.
I tried
ecolor=g.ep["typee"][1]
and it didn't worked (this was predictable since one has to apply g.ep["typee"] to an edge first and then take the second element to get an integer). I also tried
ecolor=lambda x: g.ep["typee"][x][1]
and
ecolor=(lambda x: g.ep["typee"][x][1])
none of them worked. How can I obtain what I need?
Traceback (most recent call last):
File "build-graph.py", line 595, in <module>
ecolor = ungroup_vector_property(g.ep["typee"], [1])[0]
File "/usr/local/lib/python2.7/site-packages/graph_tool/__init__.py", line 1035, in ungroup_vector_property
_check_prop_vector(vprop, name="vprop", scalar=False)
File "/usr/local/lib/python2.7/site-packages/graph_tool/__init__.py", line 915, in _check_prop_vector
(" floating" if floating else "")))
ValueError: property map 'vprop' is not of vector type.