Dav*_*idK 4 python shapes networkx
我知道我们可以从中选择形状so^>v<dph8
.
有没有办法修改节点的形状,使其包含节点的名称?
我对自定义形状(或者可以具有适合其包含的文本的大小)感兴趣.
我可以建议在标签周围有一个 bbox,而不是改变节点的形状。在这种情况下,节点将在框中“包含名称”,要实现这一点,您需要将 bbox 参数指定为字典
nx.draw(G, pos=pos, with_labels=True, node_shape="s", node_color="none", bbox=dict(facecolor="skyblue", edgecolor='black', boxstyle='round,pad=0.2'))
Run Code Online (Sandbox Code Playgroud)
您也可以考虑在此处查看解决方案
您可以使用以下代码绘制节点及其标签:
nx.draw_networkx_nodes(G, pos, node_size=600, node_color='w', alpha=0.4, node_shape='d')
nx.draw_networkx_labels(G, pos, font_size=20, font_family='sans-serif')
Run Code Online (Sandbox Code Playgroud)
有关完整示例,您可以在此处查看 networkx库的代码.
编辑:要使节点内的名称适合,您必须使用节点大小和字体大小.
证明: