rustworkx.visualization.mpl_draw#
- mpl_draw(graph, pos=None, ax=None, arrows=True, with_labels=False, **kwds)[source]#
用 Matplotlib 绘制一张图。
注意
Matplotlib是一个可选的依赖项,默认情况下不会随 rustworkx一同安装。如果您打算使用此功能,请确保您通过
pip install matplotlib或pip install 'rustworkx[mpl]'安装matplotlib。- Parameters:
pos (dict) – 一个可选字典(或
Pos2DMapping对象),其中节点作为键, 位置作为值。如果未指定,将计算弹簧布局定位。请参阅 layout_functions 以获取计算 节点位置的函数。ax (matplotlib.Axes) – 一个可选的Matplotlib Axes对象,用于在其中绘制图形。
arrows (bool) – 对于
PyDiGraph对象,若设为True则绘制箭头(默认为True)。请注意,箭头的颜色将与边的颜色相同。arrowstyle (str) – 用于有向图的可选字符串,用于选择箭头头的样式。更多选项请参阅
matplotlib.patches.ArrowStyle。默认情况下该值设置为'-\|>'。arrow_size (int) – 对于有向图,选择箭头头部长度和宽度的大小。更多信息请参阅
matplotlib.patches.FancyArrowPatch属性和构造函数关键字参数mutation_scale。 默认为 10。with_labels (布尔型) – 设置为
True可在节点上绘制标签。仅当edge_labels参数设置为函数时,才会绘制边标签。默认值为False。node_list (list) – 可选的图中节点索引列表。 如果未指定,将绘制所有节点。
edge_list (list) – 一个可选的图形中边的列表,用于绘制。如果未指定,将绘制所有边
node_size (int|list) – 可选的节点大小。如果指定了数组, 数组长度必须与 node_list 相同。默认为 300
node_color – 可选的节点颜色。可以是单一颜色或与 node_list 长度一致的序列颜色。颜色可以是字符串或是 0-1 的浮点 rgb(或 rgba)元组。如果指定了数值,它们会使用
cmap和vmin,``vmax`` 参数映射到颜色。更多详情参阅matplotlib.scatter()。默认为'#1f78b4')node_shape (str) – 可选的节点形状。规范与
matplotlib.pyplot.scatter()函数的marker关键字参数相同,有效选项是['s', 'o', '^', '>', 'v', '<', 'd', 'p', 'h', '8']中的一个。默认为'o'alpha (float) – 可选的节点与边缘透明度值
cmap (matplotlib.colors.Colormap) – 一个可选的Matplotlib颜色映射对象,用于映射节点的强度值
vmin (float) – 节点颜色映射缩放的选填最小值
vmax (float) – 节点颜色映射缩放的选填最小值
linewidths (float|sequence) – 一个可选的符号边框线宽。如果指定了序列,则其长度必须与 node_list 长度相同。默认为 1.0
width (float|sequence) – 一个可选的边宽度。可以是浮点数或浮点数序列。如果指定序列,其长度必须与node_list相同。默认为1.0
edge_color (str|sequence) – 颜色或颜色数组 (默认='k') 边的颜色。可以是单一颜色或与edge_list长度相同的颜色序列。 颜色可以是字符串或浮点数0-1的RGB(或RGBA)元组。如果指定了数值,将使用
edge_cmap、edge_vmin和edge_vmax参数将其映射为颜色。edge_cmap (matplotlib.colors.Colormap) – 一个可选的 Matplotlib 颜色映射,用于边缘强度的映射。
edge_vmin (float) – 可选的边颜色映射缩放最小值
edge_vmax (float) – 用于节点色彩映射缩放的备选最大值
style (str) – 用于指定边线样式的可选字符串。 例如,
'-'、'--'、'-.'、':'或类似'solid'或'dashed'的词语。更多详情请参见matplotlib.patches.FancyArrowPatch属性及关键字参数linestyle。默认为'solid'。labels (func) –
一个可选的回调函数,将接收节点数据负载并返回该节点的字符串标签。例如:
labels=str
可用于直接返回节点数据负载的字符串转换形式。 或者像:
labels=lambda node: node['label']
如果节点负载是字典的话可以使用。
edge_labels (func) –
一个可选的回调函数,将接收边的数据载荷并返回边的字符串标签。例如:
edge_labels=str
可用于直接返回边数据载荷的字符串转换形式。 或者像这样:
edge_labels=lambda edge: edge['label']
当边数据载荷为字典时可以使用这种形式。如果设置此项, 边的标签将在可视化中显示。
font_size (int) – 一个可选的字体大小值,用于文本标签。默认情况下,节点使用值12,边使用值10.
font_color (str) – 字符串的可选字体颜色。默认设置为
'k'(即黑色)。font_weight (str) – 一个可选字符串,用于指定字体粗细。 默认情况下使用
'normal'值。font_family (str) – 用于字符串的可选字体家族。默认情况下使用
'sans-serif'。label (str) – 一个可选的字符串标签,用于图表图例。
connectionstyle (str) – 一个可选值,用于创建指定圆角半径rad的弯曲弧线。 例如,
connectionstyle='arc3,rad=0.2'。更多信息请参见matplotlib.patches.ConnectionStyle和matplotlib.patches.FancyArrowPatch。默认情况下 该值设置为"arc3"。
- Returns:
如果不是在与交互式后端(如jupyter)一起运行,或者如果
ax未设置,则为可视化生成的matplotlib图形。- Return type:
例如:
import matplotlib.pyplot as plt import rustworkx as rx from rustworkx.visualization import mpl_draw G = rx.generators.directed_path_graph(25) mpl_draw(G) plt.draw()