用python写一个关于《红楼梦》人物关系的思维导图
时间: 2024-05-16 18:18:19 浏览: 20
好的,以下是一份Python代码,可以使用networkx和matplotlib库创建一个关于《红楼梦》人物关系的思维导图:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 读取《红楼梦》人物关系文件
with open("hongloumeng.txt", "r", encoding="utf-8") as f:
edges = [line.strip().split() for line in f.readlines()]
# 创建有向图对象
G = nx.DiGraph()
# 添加边
for edge in edges:
G.add_edge(edge[0], edge[1])
# 设置图形样式
pos = nx.spring_layout(G, k=0.7, seed=42)
node_colors = ["#1f77b4"] * len(G.nodes())
# 绘制图形
nx.draw_networkx_nodes(G, pos, node_color=node_colors, node_size=500)
nx.draw_networkx_edges(G, pos, edge_color="#aaa", width=0.5, arrowsize=5)
nx.draw_networkx_labels(G, pos, font_size=10, font_family="sans-serif")
# 显示图形
plt.axis("off")
plt.show()
```
这段代码需要一个名为"hongloumeng.txt"的文本文件,其中包含《红楼梦》中人物之间的关系,每行格式为`人物A 人物B`,表示人物A和人物B之间有关系。例如:
```
贾宝玉 林黛玉
贾宝玉 薛宝钗
贾宝玉 史湘云
...
```
执行代码后,将会生成一张以spring布局为基础的思维导图,展示《红楼梦》中人物之间的关系。你可以根据需要修改代码中的布局、颜色等参数来自定义图形样式。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)