使用python创建绍兴景点的无向图
时间: 2023-12-29 08:01:58 浏览: 63
好的,我可以帮您回答这个问题。
首先,我们需要安装 networkx 库来创建无向图。在 Python 中,可以使用以下命令来安装它:
```
pip install networkx
```
接着,我们需要准备数据。假设我们有一个包含绍兴景点信息的 CSV 文件,其中每一行包含两个景点名称和它们之间的距离。例如:
```
起飞楼,柿子塘公园,10
柿子塘公园,同方泰富广场,8
同方泰富广场,兰亭,15
...
```
接下来,我们可以使用以下代码来读取 CSV 文件并创建无向图:
```python
import networkx as nx
import csv
# 创建一个空的无向图
G = nx.Graph()
# 从 CSV 文件中读取数据并添加边到图中
with open('景点.csv') as f:
reader = csv.reader(f)
for row in reader:
node1, node2, distance = row
G.add_edge(node1, node2, weight=int(distance))
# 输出图的基本信息
print('Number of nodes:', G.number_of_nodes())
print('Number of edges:', G.number_of_edges())
# 输出图的节点和边信息
print('Nodes:', G.nodes())
print('Edges:', G.edges(data=True))
```
在这个例子中,我们使用 `nx.Graph()` 创建了一个空的无向图。然后,我们从 CSV 文件中读取数据,使用 `G.add_edge()` 添加边到图中。其中,`node1` 和 `node2` 是两个节点的名称,`distance` 是它们之间的距离,`int(distance)` 是将距离转换为整数类型。最后,我们使用 `G.number_of_nodes()` 和 `G.number_of_edges()` 输出了图的基本信息,使用 `G.nodes()` 和 `G.edges(data=True)` 输出了图的节点和边信息。
阅读全文