社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python中不同图的相同节点之间的连接

Talha Anwar • 5 年前 • 1704 次点击  

我想在不同研究论文的作者之间建立图表。 我能在同一篇论文的所有作者之间创建一个图表。但我无法将它与其他图形连接起来。

import networkx as nx
import matplotlib.pyplot as plt
authors= {0:{'a1':'Brian Vickery',
             'a2':'Fatma Özcan',
              'a3':'George Lapis',
              'a4':'Guy M. Lohman',
              'a5':'Hamid Pirahesh',
              'a6':'Jim Kleewein',
              'a7':'Kevin S. Beyer',
              'a8':'Normen Seemann',
              'a9':'Robert Lyle',
              'a10':'Roberta Cochrane',
              'a11':'Tuong C. Truong',
              'a12':'Vanja Josifovski'},
          1:{ 'a1':'Robert Lyle',
              'a2':'Bingsheng He',
              'a3':'Mian Lu',
              'a4':'Ke Yang',
              'a5':'Naga K. Govindaraju',
              'a6':'Qiong Luo',
              'a7':'Pedro V. Sander'}}

我分离键0的值,并在其上创建图形,类似地分离键1的值,我可以在其值上创建图形。但是我无法连接两个图的节点

keys = list(authors .keys())

tups = list(zip(keys, keys[1:]+keys[0:1]))
g = nx.Graph()
for a,b in tups:
    g.add_edge(authors[a], authors[b])

nx.draw(g)
plt.draw()
plt.show()

下面两个图的节点名都是robert lyle。我的问题是如何连接这两个节点 graph having values of key 0

graph having values of key 1

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43361
 
1704 次点击  
文章 [ 2 ]  |  最新文章 5 年前
ComplexGates
Reply   •   1 楼
ComplexGates    6 年前

通常每个作者在论文中都是相互联系的:

import itertools
import networkx as nx

authorlist = [list(paperauthors.values()) for papername, paperauthors in author.items()]

g = nx.Graph()
edgelist = [a1, a2 for paperauthors in authorlist for a1, a2 in itertools.combinations(paperauthors, 2)]
g.add_edges_from(edgelist)
Jay
Reply   •   2 楼
Jay    6 年前

只是不要创建两个图。在同一图形中添加两个组(或论文)的所有作者之间的边。这将确保如果同一作者是多篇论文的一部分,网络将连接起来。如果两篇研究论文的作者完全不同,那么它将产生不相交的图。

请尝试以下操作:

  • 图中的每个节点都应该表示一个作者(不管 他/她属于哪个组(或研究论文类别)。
  • 作者之间的边可以表示组(或研究论文) 基于它们的连接。