2010-08-25 2 views
10

http://imgur.com/7wiRw.pngWie kann ich eine genaue Ausgabegröße für mein Netzwerkx-Diagramm angeben?

Das obige ist die Ausgabe meines aktuellen Graphen. Ich muss jedoch noch verwalten, was ich erreichen möchte. Ich muss mein Diagramm in einer größeren Größe ausgeben, damit jeder Knoten/Kante mit Leichtigkeit betrachtet werden kann.

Ich habe versucht nx.draw(G, node_size=size), aber das erhöht nur die Größe der Knoten, nicht die Entfernung zwischen Knoten und Kanten.

Antwort

4

Da es scheint, dass Ihr Netzwerk-Layout zu "chaotisch" ist, möchten Sie vielleicht verschiedene Graph-Layout-Algorithmen ausprobieren und sehen, welche Ihnen am besten gefällt.

>>> nx.draw(G) 
>>> nx.draw_random(G) 
>>> nx.draw_circular(G) 
>>> nx.draw_spectral(G) 
>>> nx.draw_spring(G) 

Auch, wenn Sie zu viele Knoten haben (lassen Sie uns einige Tausende sagen) Ihr Diagramm visualisieren kann ein Problem sein.

18

Sie könnten versuchen, entweder kleinere Knoten/Schriftarten oder größere Leinwand. Hier ist eine Möglichkeit, beides zu tun:

import matplotlib.pyplot as plt 
import networkx as nx 
G = nx.cycle_graph(80) 
pos = nx.circular_layout(G) 
# default 
plt.figure(1) 
nx.draw(G,pos) 
# smaller nodes and fonts 
plt.figure(2) 
nx.draw(G,pos,node_size=60,font_size=8) 
# larger figure size 
plt.figure(3,figsize=(12,12)) 
nx.draw(G,pos) 
plt.show() 
Verwandte Themen