PngDrawer#
- class langchain_core.runnables.graph_png.PngDrawer(fontname: str | None = None, labels: LabelsDict | None = None)[source]#
帮助类,用于将状态图绘制到PNG文件中。
它需要安装graphviz和pygraphviz。 :param fontname: 用于标签的字体 :param labels: 标签覆盖的字典。该字典
应具有以下格式: {
- “nodes”: {
“node1”: “CustomLabel1”, “node2”: “CustomLabel2”, “__end__”: “结束节点”
}, “edges”: {
“continue”: “继续标签”, “end”: “结束标签”
}
键是原始标签,值是新的标签。
- Usage:
drawer = PngDrawer() drawer.draw(state_graph, ‘graph.png’)
初始化PNG绘图器。
- Parameters:
fontname (str | None) – 用于标签的字体。默认为“arial”。
labels (LabelsDict | None) –
一个标签覆盖的字典。字典应具有以下格式: {
- ”nodes”: {
“node1”: “CustomLabel1”, “node2”: “CustomLabel2”, “__end__”: “End Node”
}, “edges”: {
”continue”: “ContinueLabel”, “end”: “EndLabel”
}
} 键是原始标签,值是新标签。默认为 None。
方法
__init__
([fontname, labels])初始化PNG绘图器。
add_edge
(viz, source, target[, label, ...])向图中添加一条边。
add_edges
(viz, graph)向图中添加边。
add_node
(viz, node)向图中添加一个节点。
add_nodes
(viz, graph)向图中添加节点。
draw
(graph[, output_path])将给定的状态图绘制成PNG文件。
get_edge_label
(label)返回用于边的标签。
get_node_label
(label)返回用于节点的标签。
update_styles
(viz, graph)更新入口点和结束节点的样式。
- __init__(fontname: str | None = None, labels: LabelsDict | None = None) None [源代码]#
初始化PNG绘图器。
- Parameters:
fontname (str | None) – 用于标签的字体。默认为“arial”。
labels (LabelsDict | None) –
一个标签覆盖的字典。字典应具有以下格式: {
- ”nodes”: {
“node1”: “CustomLabel1”, “node2”: “CustomLabel2”, “__end__”: “End Node”
}, “edges”: {
”continue”: “ContinueLabel”, “end”: “EndLabel”
}
} 键是原始标签,值是新标签。默认为 None。
- Return type:
无
- add_edge(viz: Any, source: str, target: str, label: str | None = None, conditional: bool = False) None [源代码]#
向图中添加一条边。
- Parameters:
viz (Any) – 图形可视化对象。
source (str) – 源节点。
target (str) – 目标节点。
label (str | None) – 边的标签。默认为 None。
conditional (bool) – 边是否为条件性的。默认为 False。
- Returns:
无
- Return type:
无
- add_edges(viz: Any, graph: Graph) None [源代码]#
向图中添加边。
- Parameters:
viz (Any) – 图形化对象。
graph (Graph) – 要绘制的图形。
- Return type:
无
- add_node(viz: Any, node: str) None [source]#
向图中添加一个节点。
- Parameters:
viz (Any) – 图形可视化对象。
node (str) – 要添加的节点。
- Returns:
无
- Return type:
无
- add_nodes(viz: Any, graph: Graph) None [源代码]#
向图中添加节点。
- Parameters:
viz (Any) – 图形可视化对象。
graph (Graph) – 要绘制的图形。
- Return type:
无
- draw(graph: Graph, output_path: str | None = None) bytes | None [source]#
将给定的状态图绘制成PNG文件。
需要安装graphviz和pygraphviz。 :param graph: 要绘制的图 :param output_path: 保存PNG的路径。如果为None,则返回PNG字节。
- Parameters:
graph (Graph)
output_path (str | None)
- Return type:
字节 | 无
- get_edge_label(label: str) str [来源]#
返回用于边的标签。
- Parameters:
标签 (str) – 原始标签。
- Returns:
新标签。
- Return type:
字符串