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 хранит свойства вершин, связанные с двудольной информацией (то есть, какая часть).

В качестве простого примера вы можете взглянуть на конец " Примера: построение ценовой сети", в котором показано, как нарисовать сеть, в которой цвета вершин представляют возраст вершины, от старшего (красный) до более нового (черный). Вот иллюстрация, взятая из этого примера графического инструмента:

Я надеюсь, что это поможет вам.

Другие вопросы по тегам