2012-11-29 18 views
6

नेटवर्कएक्स matplotlib का उपयोग कर ग्राफ ड्राइंग के लिए functions शामिल है। एक शुरुआत के लिएनेटवर्कक्स/matplotlib ग्राफ ड्राइंग के गुणों को कैसे बदलें?

enter image description here

नाइस,: यह एक उदाहरण महान IPython नोटबुक (ipython3 notebook --pylab inline साथ शुरू किया था) का उपयोग कर रहा है। लेकिन मैं ड्राइंग के गुणों को कैसे प्रभावित कर सकता हूं, जैसे रंग, रेखा चौड़ाई और लेबलिंग? मैंने पहले matplotlib के साथ काम नहीं किया है।

+0

http: // networkx.lanl.gov/reference/drawing.html - आप 'draw_networkx_edges' और' draw_networkx_nodes' फ़ंक्शन – job

उत्तर

11

आईपीथॉन यह जानने के लिए एक अच्छा टूल है कि कौन से फ़ंक्शन (और ऑब्जेक्ट) कर सकते हैं। आप लिखते हैं, तो

[1]: import networkx as nx 
[2]: nx.draw? 

आप देख

परिभाषा: nx.draw (जी, स्थिति = कोई नहीं, कुल्हाड़ी = कोई नहीं, पकड़ = कोई नहीं, ** kwds)

**kwds: optional keywords 
    See networkx.draw_networkx() for a description of optional keywords. 

और यदि आप

[10]: nx.draw_networkx? 

टाइप करेंगे देख

node_color: color string, or array of floats 
edge_color: color string, or array of floats 
width: float 
    Line width of edges (default =1.0) 
labels: dictionary 
    Node labels in a dictionary keyed by node of text labels (default=None) 

तो, यह जानकारी, और प्रयोग का एक सा के साथ सशस्त्र, यह मुश्किल नहीं है पर पहुंचने के लिए है:

import matplotlib.pyplot as plt 
import numpy as np 
import networkx as nx 
import string 

G = nx.generators.erdos_renyi_graph(18, 0.2) 
nx.draw(G, 
     node_color = np.linspace(0,1,len(G.nodes())), 
     edge_color = np.linspace(0,1,len(G.edges())), 
     width = 3.0, 
     labels = {n:l for n,l in zip(G.nodes(),string.ascii_uppercase)} 
     ) 
plt.show() 

जो पैदावार

enter image description here

+1

धन्यवाद चाहते हैं। मुझे इसके साथ प्रयोग करना होगा। मैं विशेष रूप से लाइन चौड़ाई के लिए बढ़त वजन मैपिंग में रुचि रखते हैं। – clstaudt

+3

परिवर्तनीय रेखा चौड़ाई रखने के लिए, मुझे लगता है कि आपको प्रत्येक चौड़ाई के लिए एक बार 'nx.draw_networkx_edges' को कॉल करने की आवश्यकता होगी। उदाहरण के लिए [यहां] (http://networkx.lanl.gov/examples/drawing/weighted_graph.html) देखें। वहां वे लाइन शैली बदलते हैं, लेकिन यह दिखाता है कि आप चौड़ाई भी बदल सकते हैं। – unutbu

+0

बढ़िया, आपने न केवल प्रश्न का उत्तर दिया बल्कि जवाब दिया कि उत्तर कैसे प्राप्त किया जाए। – Lukas

संबंधित मुद्दे