Trả về một biểu đồ từ ma trận numpy. Ma trận numpy được hiểu là một ma trận kề cho biểu đồ. Biểu diễn ma trận kề của biểu đồ Nếu đúng, create_using là một đa hình và A là ma trận số nguyên, thì mục nhập (i, j) trong ma trận được hiểu là số lượng cạnh song song nối các đỉnh I và j trong biểu đồ. Nếu sai, thì các mục trong ma trận liền kề được hiểu là trọng lượng của một cạnh duy nhất nối các đỉnh. Loại đồ thị để tạo. Nếu biểu đồ, sau đó được xóa trước khi đông dân cư.
Ghi chú
Đối với các biểu đồ được định hướng, đề cập rõ ràng đến created_using = nx.digraph và Entry I, J của A tương ứng với một cạnh từ I đến J.
Nếu create_using là networkx.MultiGraph hoặc networkx.MultiDiGraph, parallel_edges là đúng và các mục của A thuộc loại >>> A = np.array([[1, 1], [1, 2]]) >>> G = nx.from_numpy_matrix(A, create_using=nx.MultiGraph) >>> G[1][1] AtlasView({0: {'weight': 2}}) 1, thì hàm này trả về một đa hình (được xây dựng từ create_using) với các cạnh song song.
Nếu create_using chỉ ra một đa hình không được phân chia, thì chỉ các cạnh được biểu thị bằng tam giác trên của ma trận A sẽ được thêm vào biểu đồ.
Nếu ma trận NUMPY có một loại dữ liệu duy nhất cho mỗi mục nhập ma trận, nó sẽ được chuyển đổi thành một loại dữ liệu Python thích hợp.
Nếu ma trận NUMPY có loại dữ liệu hợp chất do người dùng chỉ định, tên của các trường dữ liệu sẽ được sử dụng làm khóa thuộc tính trong biểu đồ NetworkX kết quả.
Ví dụ
Trọng lượng số nguyên đơn giản trên các cạnh:
>>> import numpy as np >>> A = np.array([[1, 1], [2, 1]]) >>> G = nx.from_numpy_matrix(A)
Nếu create_using chỉ ra một đa hình và ma trận chỉ có các mục nhập số nguyên và parallel_edges là sai, thì các mục sẽ được coi là trọng số cho các cạnh nối các nút (không tạo các cạnh song song):
>>> A = np.array([[1, 1], [1, 2]]) >>> G = nx.from_numpy_matrix(A, create_using=nx.MultiGraph) >>> G[1][1] AtlasView({0: {'weight': 2}})
Nếu create_using chỉ ra một đa hình và ma trận chỉ có các mục nhập số nguyên và parallel_edges là đúng, thì các mục sẽ được coi là số lượng cạnh song song nối với hai đỉnh đó:
>>> A = np.array([[1, 1], [1, 2]]) >>> temp = nx.MultiGraph() >>> G = nx.from_numpy_matrix(A, parallel_edges=True, create_using=temp) >>> G[1][1] AtlasView({0: {'weight': 1}, 1: {'weight': 1}})
Kiểu dữ liệu hợp chất do người dùng xác định trên các cạnh:
>>> dt = [("weight", float), ("cost", int)] >>> A = np.array([[(1.0, 2)]], dtype=dt) >>> G = nx.from_numpy_matrix(A) >>> list(G.edges()) [(0, 0)] >>> G[0][0]["cost"] 2 >>> G[0][0]["weight"] 1.0