【发布时间】:2021-10-19 20:00:07
【问题描述】:
我做了一个图表。现在,当我想更改节点大小时,我遇到了一个问题。
当我使用nx.draw_networkx_nodes(G, pos, node_size=times_list, node_color='Gray', node_shape='o') 时,我收到以下错误:
ValueError: s must be a scalar, or float array-like with the same size as x and y
我可以理解 pos 大小和 times_list 大小不一样,但我无法解决我的问题。
代码:
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
fig = plt.subplots(figsize =(32,24))
G.add_edges_from(number_list)
pos=nx.spring_layout(G)
nx.draw_networkx(G,pos)
edge_labels = duration_list
nx.draw_networkx_edge_labels(G,pos,edge_labels=dict(zip(map(tuple,number_list), edge_labels)))
G.size(500)
如何更改节点的大小?
【问题讨论】:
-
请发帖minimal reproducible example。我无法将其粘贴到编辑器中并运行它
-
什么是number_list?
-
请再看看。
-
你给了 36 个节点和 43 条边。因此,应该有 36 个 node_size,而不是 43 个。(节点是图中的圆圈,边是连接线)。
nx.draw_networkx_nodes(G, pos, node_size=times_list[:len(pos)])可以,但可能不是您的想法。
标签: python matplotlib networkx