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 thử phương pháp trực quan hóa đồ thị “xịn” đầu tiên: biểu đồ ma trận. Để làm điều này, nxviz cung cấp hàm matrix(). Hàm này, cũng như mọi hàm cấp cao của API nxviz, sẽ trả về một đối tượng axes của matplotlib có thể hiển thị bằng plt.show().

nxviz là gói dùng để trực quan hóa đồ thị một cách có hệ thống. Ở bên dưới, hàm matrix sử dụng nx.to_numpy_matrix(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 vậy, chỉ siêu dữ liệu weight được giữ lại; tất cả siêu dữ liệu khác sẽ mất, 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_matrix(A) cho phép bạn nhanh chóng tạo đồ thị từ một ma trận 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_matrix(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à chạy nhanh, chúng tôi chỉ lấy mẫu phụ 100 cạnh từ mạng.

Hướng dẫn

100 XP
  • Import matrix từ nxviz.
  • Vẽ đồ thị T dưới dạng biểu đồ ma trận. Cách làm:
    • Tạo biểu đồ ma trận đặt 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 dạng ma trận, rồi chuyển ngược 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 khỏi 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ả!