把列表 lst = [['小花','明明',0.8],['小花','小灰',0.8],['小花','小白',0.2],['小白','小灰',0.1], ['小花','大李',0.4],['大李','小灰',0.8]] 中的人物关系用社交网络(networkx)进行展示。
时间: 2024-06-17 19:00:39 浏览: 10
可以使用Python的网络分析库networkx来展示这个人物关系社交网络。首先,我们需要将列表中的人物关系转化为一个图形结构,然后使用networkx库来进行可视化展示。
以下是一个可能的代码实现:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个空的有向图
G = nx.DiGraph()
# 添加节点
for item in lst:
G.add_node(item)
G.add_node(item)
# 添加边和权重
for item in lst:
G.add_edge(item, item, weight=item)
# 绘制图形
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G, pos)
nx.draw_networkx_edges(G, pos)
nx.draw_networkx_labels(G, pos)
labels = nx.get_edge_attributes(G, 'weight')
nx.draw_networkx_edge_labels(G, pos, edge_labels=labels)
plt.show()
```
这段代码首先创建了一个空的有向图,然后遍历原始列表中的每个元素,将其中的人名作为节点添加到图中。接着,遍历每个元素,将其中的两个人名作为有向边添加到图中,并且设置边的权重为列表中对应元素的第三个值。
最后,使用networkx提供的绘图函数将整个图形展示出来。在这里,我们使用了Spring布局算法来确定节点的位置,并且使用了边缘标签来显示边的权重信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)