graph-tool:如何更改顶点颜色?

时间:2015-11-08 16:36:26

标签: python graph-tool

如何设置顶点的背景颜色?

我知道应该有属性字典或其他东西,但我找不到一个例子。

我需要它在二分图中为不同类型的顶点着色:

gtdraw.graph_draw(g, pos=pos, 
                  vertex_fill_color=part, 
                  vertex_font_size=6, 
                  output_size=(5000, 5000), 
                  output="img/pic.png")

3 个答案:

答案 0 :(得分:2)

可以找到顶点属性的完整列表here。我不确定你的'背景颜色'是什么意思。如果要在顶点上添加光晕效果,可以将vertex_halo设置为True并使用vertex_halo_colorvertex_halo_size来控制效果。如果您只想更改顶点或轮廓的颜色,可以像现在一样使用vertex_colorvertex_fill_color

答案 1 :(得分:2)

通过顶点的背景色,我假设您的意思是vertex_fill_color属性。

以下代码摘自here

# 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'])

该代码不言自明。

答案 2 :(得分:1)

您可以使用关键字参数vertex_fill_color设置背景颜色。只需检查part是否存储与二分信息相关的顶点属性(即哪个部分)。

对于一个简单的例子,你可以看一下An Example: Building a Price Network的结尾,它展示了如何绘制一个网络,其中顶点颜色代表顶点的年龄,从较旧的(红色)到较新的(黑色)。以下是此graph-tool示例中的插图:

enter image description here

我希望这会对你有所帮助。

相关问题