Plotar centralidade de grau na projeção
Aqui, você vai comparar as distribuições de centralidade de grau para cada um dos seguintes grafos: o grafo original G, a projeção do grafo de pessoas peopleG e a projeção do grafo de clubes clubsG. Isso vai reforçar a diferença no cálculo do escore de centralidade de grau entre as versões bipartida e unipartida das métricas de centralidade. As listas de nós people e clubs já foram carregadas para você.
Lembre-se do vídeo: as funções para grafos bipartidos exigem passar um conjunto de nós, mas ainda assim retornam todos os escores de centralidade de grau. Lembre-se também de que os escores de centralidade de grau são armazenados como dicionários (mapeando nó para escore).
Este exercício faz parte do curso
Análise de Redes Intermediária em Python
Instruções do exercício
- Plote a distribuição da centralidade de grau do grafo original
G, usando a funçãodegree_centralitydo módulo bipartite:nx.bipartite.degree_centrality(). Ela recebe dois argumentos: o grafoGe uma das listas de nós (peopleouclubs). - Plote a distribuição da centralidade de grau do grafo
peopleG, usando a função normal/não bipartidadegree_centralitydo NetworkX:nx.degree_centrality(). - Plote a distribuição da centralidade de grau do grafo
clubsG, usando a função normal/não bipartidadegree_centralitydo NetworkX:nx.degree_centrality().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
import matplotlib.pyplot as plt
# Plot the degree centrality distribution of both node partitions from the original graph
plt.figure()
original_dc = ____
# Remember that you can directly plot dictionary values.
plt.hist(____, alpha=0.5)
plt.yscale('log')
plt.title('Bipartite degree centrality')
plt.show()
# Plot the degree centrality distribution of the peopleG graph
plt.figure()
people_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of people partition')
plt.show()
# Plot the degree centrality distribution of the clubsG graph
plt.figure()
clubs_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of clubs partition')
plt.show()