Graph-Tool: Как изменить цвета вершин?
Как я могу установить цвет фона вершины?
Я знаю, что должен быть словарь свойств или что-то подобное, но я не могу найти пример.
Мне нужно, чтобы раскрасить разные виды вершин в двудольном графе:
gtdraw.graph_draw(g, pos=pos,
vertex_fill_color=part,
vertex_font_size=6,
output_size=(5000, 5000),
output="img/pic.png")
2 ответа
Под цветом фона вершины, я полагаю, вы имеете в виду свойство vertex_fill_color.
Следующий код взят отсюда
# Normalised RGB color.
# 0->Red, 1->Blue
red_blue_map = {0:(1,0,0,1),1:(0,0,1,1)}
# Create new vertex property
plot_color = g.new_vertex_property('vector<double>')
# add that property to graph
g.vertex_properties['plot_color'] = plot_color
# assign a value to that property for each node of that graph
for v in g.vertices():
plot_color[v] = red_blue_map[g.vertex_properties['value'][v]]
gt.graph_draw(g,
vertex_fill_color=g.vertex_properties['plot_color'])
Код говорит сам за себя.
Полный список свойств вершин можно найти здесь. Я не уверен, что вы подразумеваете под "цветом фона". Если вы хотите добавить эффект ореола на вершины, вы можете установить vertex_halo
в True
и использовать vertex_halo_color
а также vertex_halo_size
контролировать эффект. Если вы просто хотите изменить цвет вершины или контура, вы можете использовать vertex_color
а также vertex_fill_color
как ты уже есть.
Вы можете установить цвет фона с помощью ключевого аргумента vertex_fill_color
, как ты это делаешь. Просто проверьте это part
хранит свойства вершин, связанные с двудольной информацией (то есть, какая часть).
В качестве простого примера вы можете взглянуть на конец " Примера: построение ценовой сети", в котором показано, как нарисовать сеть, в которой цвета вершин представляют возраст вершины, от старшего (красный) до более нового (черный). Вот иллюстрация, взятая из этого примера графического инструмента:
Я надеюсь, что это поможет вам.