rustworkx.visualization.graphviz_draw#
- graphviz_draw(graph, node_attr_fn=None, edge_attr_fn=None, graph_attr=None, filename=None, image_type=None, method=None)[source]#
绘制一个
PyGraph或PyDiGraph对象 使用graphviz注意
这要求已安装pydot、pillow和graphviz。Pydot可以通过
pip install pydot pillow使用pip安装,但graphviz 需要单独安装。您可以参考 Graphviz documentation 获取安装说明。- Parameters:
node_attr_fn – 一个可选的调用对象,将接收图中每个节点的权重/数据载荷,并预期返回一个Graphviz节点属性字典,这些属性将在可视化中与该节点关联。此字典的键和值必须为字符串。
edge_attr_fn – 一个可选的调用对象,将被传递图中每条边的权重/数据载荷,并期望返回一个Graphviz边属性字典,这些属性将与可视化文件中的边相关联。该字典的键和值必须是字符串。
graph_attr (dict) – 一个可选字典,用于指定可视化中Graphviz图的属性。这个字典的键和值必须是字符串。
filename (str) – 一个可选的路径,用于将可视化结果写入。如果 指定了该参数,则此函数的返回类型将是
None,因为 输出图像会保存到磁盘。image_type (str) – 指定用于生成可视化的图像文件格式。支持的图像格式包括:
'canon','cmap','cmapx','cmapx_np','dia','dot','fig','gd','gd2','gif','hpgl','imap','imap_np','ismap','jpe','jpeg','jpg','mif','mp','pcl','pdf','pic','plain','plain-ext','png','ps','ps2','svg','svgz','vml','vmlz','vrml','vtx','wbmp','xdot','xlib'。值得注意的是,虽然当指定了filename参数时,这些格式都可以用于生成图像文件,但用于返回对象的 Pillow 库 并不能支持所有这些格式。method (str) – 用于生成可视化的布局方法/Graphviz命令方法。可用选项包括
'dot','twopi','neato','circo','fdp', 和'sfdp'。 您可以查阅 Graphviz文档获取 不同布局方法的更多详情。默认使用'dot'。
- Returns:
一个表示生成的可视化的
PIL.Image对象(如果未指定filename)。如果指定了filename,则返回None,因为可视化内容已写入filename中指定的路径。- Return type:
PIL.图像
import rustworkx as rx from rustworkx.visualization import graphviz_draw def node_attr(node): if node == 0: return {'color': 'yellow', 'fillcolor': 'yellow', 'style': 'filled'} if node % 2: return {'color': 'blue', 'fillcolor': 'blue', 'style': 'filled'} else: return {'color': 'red', 'fillcolor': 'red', 'style': 'filled'} graph = rx.generators.directed_star_graph(weights=list(range(32))) graphviz_draw(graph, node_attr_fn=node_attr, method='sfdp')