Infomap Python-Zeichencode

Was ist Infomap?

Eine Bibliothek implementiert, die sich zu einer modularen Struktur mit einem schönen Gefühl zusammenschließt, das als Map-Gleichung bezeichnet wird.

Einzelheiten entnehmen Sie bitte der folgenden URL. https://www.mapequation.org/index.html https://mapequation.github.io/infomap/

Problem

Der Beispielcode funktionierte bei Verwendung von Infomap nicht.

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

Die Ursache scheint zu sein, dass der Code alt ist.

Auflösungscode

(Referenzierte Site) 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)

Schließlich

Ich würde mich freuen, wenn Sie mich wissen lassen könnten, wenn es Fehler gibt.

Recommended Posts

Infomap Python-Zeichencode
Python-Zeichencode
[Python] Code, der Algorithmen kennt
Schreiben Sie Python2-Code in Python3 um (2to3)
Vor dem Schreiben von Python-Code
Python Fordert den Statuscode an
Zeichnen Sie ein Diagramm mit Python
Holen Sie sich den Ländercode mit Python
Python mit VSCode (Windows 10)
Zeichnen Sie MP3-Wellenformen in Python
Zeichnen Sie eine netCDF-Datei mit Python
Zeichnen Sie die Festplatte von Poancare in Python
Persönliches Python-Code-Memo
Debuggen Sie Python mit VS-Code
2.x, 3.x Serienzeichencode von Python
Zeichnen Sie "Farn programmgesteuert zeichnen" in Python
Stoppen Sie Omxplayer vom Python-Code
Zeichne die Yin-Funktion in Python
Python verwendete häufig Codefragmente
Generieren Sie QR-Code in Python
[Python] Beispielcode für die Python-Grammatik
Zeichne ein Herz in Python
In Python gelernter Zeichencode
Konvertieren Sie Python 3.x-Code in Python 2.x.
Dokumentieren Sie Python-Code mit Doxygen
Zeichnen Sie Sinuswellen mit Blender Python
Python-Handspiel (Argparse-Mindestcode)
Dieser Python-Code hat keine Klassen ...
Python
[Python] Generiert QR-Code im Speicher
Zeichnen Sie Knoten interaktiv mit Plotly (Python)
Formatieren Sie Python-Code automatisch mit Vim
Zeichnen Sie eine Streudiagrammmatrix mit Python
Schreiben Sie Selentestcode in Python
Zeichnen Sie mit Python Turtle eine Koch-Kurve
Führen Sie Python-Code über die C # -GUI aus
Beispielcode-Zusammenfassung für die parallele / parallele Python-Verarbeitung
Überprüfen Sie den Python-Codestil mit pep8
Zeichnen Sie eine Illustration mit Python + OpenCV
Zeichnen Sie ein CNN-Diagramm in Python
[Python] Lesen Sie den Flask-Quellcode
Zeichne Riapnov Fractal mit Python, matplotlib
Code-Tests rund um die Uhr in Python
Installieren Sie Python mit Mac vs Code
Zeichnen Sie einen Pfeil (Vektor) mit opencv / python
Installation von Visual Studio Code und Installation von Python
In Python geschriebener Fourier-Serien-Verifizierungscode
Python> Link> Verhalten / Code von Strftime () und strptime ()
Schreiben Sie testgetriebenen FizzBuzz-Code mit Python doctest.
Holen Sie sich Python-Quellcode-Metriken mit Radon
Mit Python Teil 2 ein Herz zeichnen (SymPy Edition)
[Python3] Schreiben Sie das Codeobjekt der Funktion neu
Doppelte Kombinationen auflisten (C ++) → Python-Code hinzufügen
Python> Codierungsanleitung> PEP 0008 - Stilanleitung für Python-Code
Ein Tool zur einfachen Eingabe von Python-Code