infomap code de dessin Python

Qu'est-ce qu'infomap?

Une bibliothèque implémentée qui se regroupe dans une structure modulaire avec une belle sensation appelée équation de carte.

Pour plus de détails, veuillez vous référer à l'URL suivante. https://www.mapequation.org/index.html https://mapequation.github.io/infomap/

problème

L'exemple de code ne fonctionnait pas lors de l'utilisation d'infomap.

https://github.com/mapequation/infomap/blob/master/examples/python/example-networkx.py

La cause semble être que le code est ancien.

Code de résolution

(Site référencé) https://mapequation.github.io/infomap/

example-networkx.py


import networkx as nx
import matplotlib.pyplot as plt
import matplotlib.colors as colors

import infomap

"""
Generate and draw a network with NetworkX, colored
according to the community structure found by Infomap.
"""

def findCommunities(G):
	"""
	Partition network with the Infomap algorithm.
	Annotates nodes with 'community' id and return number of communities found.
	"""
	
	infomapWrapper = infomap.Infomap("--two-level --directed")

	print("Building Infomap network from a NetworkX graph...")
	for e in G.edges():
		infomapWrapper.addLink(*e)

	print("Find communities with Infomap...")
	infomapWrapper.run();

	


	communities = {}
	for node in infomapWrapper.iterTree():
		if node.isLeaf():
			communities[node.physicalId] = node.moduleIndex()

	nx.set_node_attributes(G, name='community', values=communities)
	return infomapWrapper.numTopModules()


def drawNetwork(G):
	# position map
	pos = nx.spring_layout(G)
	# community ids
	communities = [v for k,v in nx.get_node_attributes(G, 'community').items()]
	numCommunities = max(communities) + 1
	# color map from http://colorbrewer2.org/
	cmapLight = colors.ListedColormap(['#a6cee3', '#b2df8a', '#fb9a99', '#fdbf6f', '#cab2d6'], 'indexed', numCommunities)
	cmapDark = colors.ListedColormap(['#1f78b4', '#33a02c', '#e31a1c', '#ff7f00', '#6a3d9a'], 'indexed', numCommunities)

	# edges
	nx.draw_networkx_edges(G, pos)

	# nodes
	nodeCollection = nx.draw_networkx_nodes(G,
		pos = pos,
		node_color = communities,
		cmap = cmapLight
	)
	# set node border color to the darker shade
	darkColors = [cmapDark(v) for v in communities]
	nodeCollection.set_edgecolor(darkColors)

	# Print node labels separately instead
	for n in G.nodes():
		plt.annotate(n,
			xy = pos[n],
			textcoords = 'offset points',
			horizontalalignment = 'center',
			verticalalignment = 'center',
			xytext = [0, 2],
			color = cmapDark(communities[n])
		)

	plt.axis('off')
	# plt.savefig("karate.png ")
	plt.show()


G=nx.karate_club_graph()

findCommunities(G)

drawNetwork(G)

finalement

Je vous serais reconnaissant de bien vouloir me faire savoir s'il y a des erreurs.

Recommended Posts

infomap code de dessin Python
code de caractère python
[Python] Code conscient des algorithmes
Réécrire le code Python2 en Python3 (2to3)
Avant d'écrire du code Python
Code d'état des requêtes Python
Dessiner un graphique avec python
Obtenez le code du pays avec python
Python avec VSCode (Windows 10)
Dessiner une forme d'onde mp3 en Python
Dessiner un fichier netCDF avec python
Dessinez le disque de Poancare en Python
Mémo de code personnel Python
Déboguer Python avec VS Code
2.x, 3.x code de caractères des séries python
Dessiner "Dessiner une fougère par programme" en Python
Arrêtez Omxplayer à partir du code Python
Dessiner la fonction Yin en python
Extraits de code Python fréquemment utilisés
Générer du code QR en Python
[Python] Exemple de code pour la grammaire Python
Dessinez un cœur en Python
Code de caractère appris en Python
Convertir le code python 3.x en python 2.x
Documenter le code Python avec Doxygen
Dessinez des ondes sinusoïdales avec Blender Python
Jeu de main Python (code minimum argparse)
Ce code Python n'a pas de classes ...
Python
[Python] Générer un code QR en mémoire
Dessinez des nœuds de manière interactive avec Plotly (Python)
Formater automatiquement le code Python avec Vim
Dessinez une matrice de diagramme de dispersion avec python
Ecrire le code de test du sélénium en python
Dessinez une courbe Koch avec Python Turtle
Exécuter du code Python à partir de l'interface graphique C #
Résumé de l'exemple de code de traitement parallèle / parallèle Python
Vérifiez le style de code python à l'aide de pep8
Dessinez une illustration avec Python + OpenCV
Dessinez un diagramme CNN en Python
[Python] Lire le code source de Flask
Dessinez Riapnov Fractal avec Python, matplotlib
Tests de code dans le temps en Python
Installez python avec mac vs code
Dessinez une flèche (vecteur) avec opencv / python
Installation du code Visual Studio et installation de python
Code de vérification de la série Fourier écrit en Python
python> lien> Comportement / code de Strftime () et strptime ()
Écrivez du code FizzBuzz piloté par les tests à l'aide de Python doctest.
Obtenez des métriques de code source Python à l'aide de radon
Dessiner un cœur avec Python Partie 2 (SymPy Edition)
[Python3] Réécrire l'objet code de la fonction
Énumérer les combinaisons en double (C ++) → Ajouter du code Python
python> guide de codage> PEP 0008 --Style Guide for Python Code
Un outil pour saisir facilement du code Python