Graphviz教程:如何为边标签的不同部分设置不同颜色
实现Graphviz边标签的多色文本
我想给Graphviz边的标签文本设置部分颜色(比如前半黑、后半红),但目前只能给整个标签设置单一颜色:
错误效果:
我想要的效果(Photoshop修改后):
正确效果:
解决方案
Graphviz支持用HTML格式定义标签,通过HTML的<font>标签可以为文本不同部分设置独立颜色,修改代码如下:
import graphviz graph = graphviz.Digraph() graph.attr(rankdir='LR') graph.attr('node', shape='circle') graph.node("1", label="1") graph.node("2", label="2") # 用HTML标签拆分文本并设置不同颜色 graph.edge("1", "2", label='<font color="black">abc</font><font color="red">def</font>') display(graph)
说明
把原本的纯文本标签替换为HTML格式内容,用<font color="颜色值">包裹需要变色的文本片段,就能实现标签文本的多色效果。
内容的提问来源于stack exchange,提问作者carlcarlyle
相关产品推荐
相关产品推荐

