2010-08-25 2 views
10

http://imgur.com/7wiRw.pngComment puis-je spécifier une taille de sortie exacte pour mon graphe networkx?

Ce qui précède est la sortie de mon graphique actuel. Cependant, je dois encore gérer ce que j'essaie d'accomplir. J'ai besoin de produire mon graphique dans une taille plus grande de sorte que chaque noeud/bord puisse être regardé avec facilité.

J'ai essayé nx.draw(G, node_size=size), mais cela ne fait qu'augmenter la taille des nœuds, pas la distance entre les nœuds et les bords.

Répondre

4

Depuis, il semble que votre mise en page du réseau est trop « désordre », vous pouvez essayer différents algorithmes de mise en page graphique et voir lequel vous convient le mieux.

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

De plus, si vous avez trop de nœuds (disons quelques milliers) visualiser votre graphique peut être un problème.

18

Vous pouvez essayer soit plus petits noeuds/polices ou plus grande toile. Voici une façon de faire les deux:

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() 
Questions connexes