Trực quan hóa đồ thị đã lọc bằng nxviz
Ở đây, bạn sẽ trực quan hóa đồ thị đã lọc bằng biểu đồ circos. Biểu đồ circos là lựa chọn tự nhiên cho trực quan hóa này, vì bạn có thể nhóm và tô màu các node để thể hiện các phần (partition), trong khi bố cục hình tròn giúp giữ tính thẩm mỹ của biểu đồ.
Bài tập này là một phần của khóa học
Phân tích mạng nâng cao với Python
Hướng dẫn bài tập
- Tính điểm degree centrality cho mỗi node bằng centrality của mô-đun bipartite, nhưng dựa trên degree centrality trong đồ thị gốc.
- Dùng hàm
nx.bipartite.degree_centrality()cho việc này, với các đối sốGvànodes=forum_nodes.
- Dùng hàm
- Tạo một biểu đồ
circosmới với các node được tô màu và nhóm (các tham sốnode_color_byvàgroup_by) theo nhãn partition ('bipartite'), và được sắp xếp (tham sốsort_by) theo degree centrality ('dc'), rồi hiển thị nó.- Để đảm bảo các node hiển thị rõ ràng, chúng tôi đã thêm đối số
node_enc_kwargs={'radius': 10}.
- Để đảm bảo các node hiển thị rõ ràng, chúng tôi đã thêm đối số
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import necessary modules
from nxviz import circos
import networkx as nx
import matplotlib.pyplot as plt
# Compute degree centrality scores of each node
dcs = ____(____, nodes=____)
for n, d in G_sub.nodes(data=True):
G_sub.nodes[n]['dc'] = dcs[n]
# Create the circos plot: c
c = _____(___, _____, _____, _____, node_enc_kwargs={'radius': 5})
# Display the plot
plt.show()