I know that we can choose the shape from so^>v<dph8
.
Is there a way to modify the shape of a node so that it contains the name of the node ?
I'm interested by custom shapes (or that can have a size that adapts to the text it contains).
I know that we can choose the shape from so^>v<dph8
.
Is there a way to modify the shape of a node so that it contains the name of the node ?
I'm interested by custom shapes (or that can have a size that adapts to the text it contains).
I can suggest to have a bbox around the label instead of changing shape of the node. In this case node will "contain the name" inside the box and to acheive this you need specify bbox parameters as dictionary
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'))
You may also consider this solution here
You can draw nodes and their labels with the following code:
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')
For a complete example you can look at the code of the networkx gallery here.
Edit: To fit the name inside the node, you have to play with the node size and font size.
Proof:
© 2022 - 2024 — McMap. All rights reserved.