如何设置顶点的背景颜色?
我知道应该有属性字典或其他东西,但我找不到一个例子。
我需要它在二分图中为不同类型的顶点着色:
gtdraw.graph_draw(g, pos=pos,
vertex_fill_color=part,
vertex_font_size=6,
output_size=(5000, 5000),
output="img/pic.png")
答案 0 :(得分:2)
可以找到顶点属性的完整列表here。我不确定你的'背景颜色'是什么意思。如果要在顶点上添加光晕效果,可以将vertex_halo
设置为True
并使用vertex_halo_color
和vertex_halo_size
来控制效果。如果您只想更改顶点或轮廓的颜色,可以像现在一样使用vertex_color
和vertex_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示例中的插图:
我希望这会对你有所帮助。