回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在努力学习网络分析,所以我用希拉里·克林顿的电子邮件在线查看谁给谁发了邮件。在</p>
<p>我的数据在一个叫做hrc_dict的字典中,我有一个发送者和接收者的元组,然后是电子邮件的频率。这是字典的一部分:</p>
<blockquote>
<p>{('Hillary Clinton', 'Cheryl Mills'): 354, ('Hillary Clinton', 'l'): 1, ('Linda Dewan', 'Hillary Clinton'): 1, ('Hillary Clinton', 'Capricia Marshall'): 9, ('Phillip Crowley', 'Hillary Clinton'): 2, ('Cheryl Mills', 'Anne-Marie Slaughter'): 1}</p>
</blockquote>
<p>我在Jupyter中使用Networkx来创建一个图形。我的代码如下:</p>
<pre><code>import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_nodes_from(hrc_dict)
for s, r in hrc_dict:
G.add_edge((s,r), hrc_dict[(s,r)])
G.add_edge((s,r), hrc_dict[(s,r)])
</code></pre>
<p>我打电话的时候nx.图形(),没有输出任何内容,当我调用G.nodes()时,并不是所有的节点都显示出来。我在这里粘贴了一些输出:</p>
<blockquote>
<p>[1,
2,
3,
4,
5,
6,
7,
8,
'Mark Penn',
10,
('Todd Stern', 'Hillary Clinton'),
12,]</p>
</blockquote>
<p>当我调用G.edges()时,会得到下面的结果,这似乎是对的</p>
<blockquote>
<p>[(1, ('Hillary Clinton', 'l')), (1, ('Linda Dewan', 'Hillary Clinton')), (1, ('Hillary Clinton', 'Thomas Shannon')), (1, ('Cheryl Mills', 'Anne-Marie Slaughter')), (1, ('Christopher Butzgy', 'Hillary Clinton’))]</p>
</blockquote>
<p>有人知道如何正确地将节点添加到我的图中吗。我假设每个人都需要是一个节点,那么如何分解元组并分别添加名称?边缘显示正确还是需要以不同的方式输入?在</p>