1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Phân tích Mạng bằng Python

Connected

Bài tập

Trực quan hóa bằng biểu đồ ma trận

Đến lúc bạn thử phương pháp trực quan hóa đồ thị "xịn" đầu tiên: biểu đồ ma trận (matrix plot). Để làm việc này, nxviz cung cấp hàm matrix(). Hàm này, giống như tất cả các hàm API cấp cao của nxviz, sẽ trả về một đối tượng axes của matplotlib có thể hiển thị bằng plt.show().

nxviz là một gói để trực quan hóa đồ thị theo cách có hệ thống. Ẩn bên dưới, hàm matrix sử dụng nx.to_numpy_array(G), hàm này trả về dạng ma trận của đồ thị. Ở đây, mỗi nút là một cột và một hàng, và một cạnh giữa hai nút được biểu thị bằng giá trị 1. Tuy nhiên, khi làm như vậy, chỉ siêu dữ liệu weight được giữ lại; mọi siêu dữ liệu khác sẽ bị mất, và bạn sẽ kiểm chứng điều này bằng một câu lệnh assert.

Hàm tương ứng nx.from_numpy_array(A) cho phép nhanh chóng tạo đồ thị từ một mảng NumPy. Kiểu đồ thị mặc định là Graph(); nếu bạn muốn tạo DiGraph(), cần chỉ định bằng đối số từ khóa create_using, ví dụ (nx.from_numpy_array(A, create_using=nx.DiGraph)).

Lưu ý cuối cùng, matplotlib.pyplot và networkx đã được nhập dưới tên plt và nx, và đồ thị T đã được nạp sẵn. Để đơn giản và nhanh hơn, chúng tôi đã lấy mẫu phụ chỉ 100 cạnh từ mạng.

Hướng dẫn

100 XP
  • Import matrix từ nxviz.
  • Vẽ đồ thị T bằng biểu đồ ma trận. Cách thực hiện:
    • Tạo biểu đồ ma trận tên m bằng hàm nv.matrix() với T truyền vào làm đối số.
    • Hiển thị biểu đồ bằng plt.show().
  • Chuyển đồ thị sang định dạng ma trận, rồi chuyển lại sang dạng NetworkX từ ma trận dưới dạng đồ thị có hướng. Phần này đã được làm sẵn cho bạn.
  • Kiểm tra rằng trường siêu dữ liệu category đã bị mất ở mỗi nút. Phần này cũng đã được làm sẵn, nên hãy bấm 'Gửi câu trả lời' để xem kết quả!