Изменение отдельных атрибутов вершин в python igraph
для данного графика g
Я не могу изменить индивидуальный атрибут вершины (в этом случае 'color'
):
from igraph import Graph
# create triangle graph
g = Graph.Full(3)
cl_blue = (0,0,.5)
cl_red = (.5,0,0)
g.vs['color'] = 3*[cl_blue]
g.vs['color'][0] = cl_red
после этого, print g.vs['color']
по-прежнему дает
[(0, 0, 0.5), (0, 0, 0.5), (0, 0, 0.5)]
как я могу назначить значения для отдельных элементов?
1 ответов
вы просто делаете это задом наперед... do
g.vs[0]['color'] = cl_red
извините, должно быть более описательным.
g.vs['color']
возвращает список всех атрибутов узла. Это не фактические атрибуты - это копия, поэтому ее изменение не имеет никакого эффекта.
g.vs[0]
возвращает фактическую вершину 0. Затем можно изменить его атрибуты с помощью интерфейса dictionary.