我想在图表工具的edge_gradient
上使用gt.graph_draw()
属性,以便更好地可视化图表中的连接方向,这些图表对于箭头等标记来说过于拥挤。
根据文档中的描述,似乎这是该属性应该执行的操作。但是,目前它只允许我将边缘设置为纯色。
我正在使用这样的属性:
egradient = g.new_edge_property('vector<double>')
g.edge_properties['egradient'] = egradient
e = g.add_edge(v1, v2)
egradient[e] = (0.9, 0.329,0.282,0.478,1)
...
gt.graph_draw(g, ... edge_gradient=g.edge_properties["egradient"])
如果修改(0.9, 0.329,0.282,0.478,1)
中的第一个值,外观保持不变 - 如果我尝试传递一个元组列表,我会从图形工具内部得到这个:
TypeError: float() argument must be a string or a number
如何在图表工具中实现我想要的东西?如果我不能,那么边缘渐变5元组中的第一个值还有什么用呢?
答案 0 :(得分:0)
edge_gradient
实际上需要一个整数列表,而不是元组列表。我一开始犯了同样的错误。
示例:如果要从白色变为黑色,则`edge_gradient参数应如下所示:
# o r g b a o r g b a
edge_gradient=[0, 1, 1, 1, 1, 1, 0, 0, 0, 1]
这就是文档的含义,&#34; 每组5个元素被解释为[o, r, g, b, a]
,其中o
是[0, 1]
范围内的偏移量其余值指定颜色。
阅读起来有点困难,所以我将我的停止点分开并将它们格式化为:
# offset r g b a
edge_gradient=[0, 1, 1, 1, 1, \
0.5, 0, 0, 0, 1, \
1, 1, 0, 0, 1]
从白色到黑色再到红色。 ......理论上,至少。我无法让edge_gradient
使用两个以上的渐变停止点。我总是最终得到一些颜色,就像我传递给edge_gradient
属性的列表一样,其余部分有奇怪的行为,比如在中间有最终颜色。