如何解决如何减少边缘的尺寸/大小?
我有以下数据集:
Person1 Age Person2 Wedding
0 Adam John 3 Yao Ming Green
1 Mary Abbey 5 Adam Lebron Green
2 Samuel Bradley 24 Mary Lane Orange
3 Lucas Barney 12 Julie Lime Yellow
4 Christopher Rice 0.9 Matt Red Green
我想减少尺寸的重量(例如除以 100 原始值)。 我目前正在按如下方式在网络中添加边:
G = nx.from_pandas_edgelist(df_test,source='Person1',target='Person2',edge_attr='Age')
pos=nx.spring_layout(G,k=0.30,iterations=20)
nx.draw_networkx_nodes(G,pos,node_size=900,nodelist=collist['value'],node_color=collist['Wedding'])
nx.draw_networkx_edges(G,width = [i['Age'] for i in dict(G.edges).values()])
我试图通过取年龄列并除以 100 来创建一个新列作为 Age_n
,但实际上它不起作用(因为边缘不会改变它们的大小/重量),当我替换 {{ 1}} 在代码中。
解决方法
您可以在创建 Age
列表的同时将 width
除以某个因子,如下所示:
G = nx.from_pandas_edgelist(df,source='Person1',target='Person2',edge_attr='Age')
plt.figure(figsize=(12,8))
pos=nx.spring_layout(G,k=0.30,iterations=20)
nx.draw_networkx_nodes(G,pos,node_size=500)
nx.draw_networkx_labels(G,pos)
nx.draw_networkx_edges(G,width = [i['Age']/2 for i in dict(G.edges).values()])
plt.box(False)
plt.show()
虽然在您指定时分配一个新的 Age
列 确实 也可以,因为它的作用与上述相同:
G = nx.from_pandas_edgelist(df.assign(Age=df.Age/2),edge_attr='Age')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。