2016-07-25 18 views
6

Tôi tự hỏi, chức năng Read_Edgelist lưu trữ id gốc từ danh sách cạnh? hoặc theo tên thuộc tính nào?Id của nút ban đầu khi tạo biểu đồ từ danh sách cạnh

Giả sử rằng tôi đang đọc một danh sách cạnh như:

1 2 
2 1 
1 3 

nơi những con số 1,2,3 là id (hoặc tên) của các nút. IGraph (phiên bản python) lưu trữ các id này ở đâu? Tôi đã thử truy xuất các Id này từ thuộc tính name hoặc id nhưng không hoạt động vì hai thuộc tính đó dường như phải được xác định rõ ràng.

+0

'my_graph.es' sẽ hiển thị chuỗi cạnh của đồ thị của bạn –

+0

Tôi đã thử rằng, và bằng cách sử dụng 'nguồn và' mục tiêu 'tôi có thể lấy các nút. Nhưng tôi vẫn không biết nơi các id gốc được lưu trữ! –

+0

@ M.M, tôi đã chỉnh sửa câu trả lời của mình để thêm thông tin về nơi các id nút được lưu trữ. –

Trả lời

2

Read_Edgelist giả định các id nút là các số nguyên liên tiếp từ 0 đến m, trong đó m là số nguyên tối đa trong danh sách cạnh. Vì vậy, có "không cần phải lưu trữ id nút."

Ví dụ, nếu bạn là edgelist.txt 1 3, mã này

import igraph as ig 
g = ig.Graph.Read_Edgelist("edgelist.txt") 
print g.get_adjacency() 

tạo ra một đồ thị với bốn nút (0, 1, 2, 3) và in

[[0, 0, 0, 0] 
[0, 0, 0, 1] 
[0, 0, 0, 0] 
[0, 0, 0, 0]] 

Xem này answer nếu bạn không muốn tạo các nút "trung gian".

Trong khi đây là không cần thiết cho một đồ thị với id nút liên tiếp bắt đầu với 0, người ta có thể truy cập vào id nút sử dụng VertexSeqVertex:

for v in g.vs: 
    print v.index # node id 
Các vấn đề liên quan