рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП NetworkX


NetworkX рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЬрдЯрд┐рд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛, рдЧрддрд┐рд╢реАрд▓рддрд╛ рдФрд░ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рд░реНрдорд╛рдг, рд╣реЗрд░рдлреЗрд░ рдФрд░ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╕реАрдЦрдиреЗ рдХреЗ рдЙрдкрдХрд░рдг, рдЕрдиреБрдкреНрд░рдпреБрдХреНрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдпрд╛ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдорд╛рдиреА рдЬрд╛рддреА рд╣реИрдВред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рд╕рд╛рдЗрдЯ рд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдордЧреНрд░реА рд╣реИрдВред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА 1.5 рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред


рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ


рдиреЗрдЯрд╡рд░реНрдХрдПрдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкрд╛рдпрдерди рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдЧреНрд░рд╛рдлрд╝ рдФрд░ рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдирдП рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдореБрдлреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:


рдЙрддреНрдкрд╛рджрдХрддрд╛


рдпрд╣ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрд╣реБрдд рдмрдбрд╝реА рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рдПрдХ рдЧреНрд░рд╛рдл рд╕реНрддрд░ 10 рдорд┐рд▓рд┐рдпрди рдиреЛрдбреНрд╕ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ 100 рдорд┐рд▓рд┐рдпрди рдЖрд░реНрдХреНрд╕ред рдЗрд╕ рддрдереНрдп рдХреЗ рдорджреНрджреЗрдирдЬрд░ рдХрд┐ рдпрд╣ рдкрд╛рдпрдерди рднрд╛рд╖рд╛ рдХреА рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕реЗ "рдбрд┐рдХреНрд╢рдирд░реА рдбрд┐рдХреНрд╢рдирд░реА" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореЗрдореЛрд░реА рдХрд╛ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЧреНрд░рд╛рдл рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдЙрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдмрд╣реБрдд рдХрдо рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИред рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЧреНрд░рд╛рдл рд╕реЗ рдбреЗрдЯрд╛ ред

рдмреБрдирд┐рдпрд╛рджреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ


рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдВрдХреБрд▓ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдКрдкрд░реА рд╕реНрддрд░ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдирд┐рдЪрд▓реЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдиреЗрдЯрд╡рд░реНрдХрдПрдХреНрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ:
>>> import networkx as nx 


рдХрдХреНрд╖рд╛ рдХрд╛ рдЧреНрд░рд╛рдл


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЧреНрд░рд╛рдлрд╝ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ:
рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦрд╛рд▓реА рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
 >>> G=nx.Graph() >>> G=nx.DiGraph() >>> G=nx.MultiGraph() >>> G=nx.MultiDiGraph() 


рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЖрд╕рдиреНрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрд╕рдВрдЧрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдЗрд╕ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рди рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдореБрджреНрд░реА рдореАрд▓ рдФрд░ рдЪрд╛рдк


рдХрд┐рд╕реА рднреА рдЧреНрд░рд╛рдл рдХреЗ рдШрдЯрдХред рдХрд┐рд╕реА рднреА рдиреЛрдб рдпрд╛ рдЖрд░реНрдХ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реА рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╛рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдпрд╛ рдЪрд╛рдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рднрд╛рд░рд┐рдд рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ "рд╡реЗрдЯ" рдирд╛рдордХ рдПрдХ рд╕реЗрд╡рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рдХреЛ рдирд╖реНрдЯ рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдЧреНрд░рд╛рдл рдирд┐рд░реНрдорд╛рдг


рдлрд┐рд▓рд╣рд╛рд▓, рддреАрди рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдмрдирд╛рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рд╡рд┐рдзрд┐-рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреЛрдиреЛрдВ рддрд░реАрдХреЗ рд╣реИрдВред
 >>> import networkx as nx >>> G=nx.Graph() >>> G.add_edge(1,2) #       = 1 >>> G.add_edge(2,3,weight=0.9) #    

рдЬреЛрдбрд╝реЗ рдЧрдП рдорд╛рди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 >>> import math >>> G.add_edge('y','x',function=math.cos) >>> G.add_node(math.cos) #    hashable    

рдЖрд░реНрдХ рдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рдбреЗрдЯрд╛ рдорд╛рдиреЛрдВ рд╕реЗ рднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 >>> elist=[('a','b',5.0),('b','c',3.0),('a','c',1.0),('c','d',7.3)] >>> G.add_weighted_edges_from(elist) 


рдЧреНрд░рд╛рдл рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рдиреЛрдбреНрд╕, рдЖрд░реНрдХреНрд╕, рдкрд╛рде, рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рддрд░реАрдХреЗ рдиреЛрдбреНрд╕ рдФрд░ рдЖрд░реНрдХреНрд╕ (рдХрд┐рдирд╛рд░реЛрдВ () рдФрд░ рдиреЛрдбреНрд╕) (), рдФрд░ рд╕рд╛рде рд╣реА рдиреЛрдбреНрд╕ рдФрд░ рдЖрд░реНрдХреНрд╕ (рдХрд┐рдирд╛рд░реЛрдВ_рдЯрд░ ()) рдкрд░ рдПрдХ рдЗрдЯрд░реЗрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдФрд░ nodes_iter () рдХреНрд░рдорд╢рдГред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, nx.triangles (G, n) рдЧреНрд░рд╛рдлрд╝ G рдореЗрдВ рддреНрд░рд┐рдХреЛрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрдЯреЗрдХреНрд╕ n рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рд╕рднреА рдЙрдкрд▓рдмреНрдз рдлрд╝рдВрдХреНрд╢рди рдиреЗрдЯрд╡рд░реНрдХрдПрдХреНрд╕ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ ред

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо


рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЧреНрд░рд╛рдл рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЕрд▓реНрдЧреЛрд░рд┐рдердо, рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдиреЗ, рдКрдБрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рдЦреЛрдЬ рдХрд░рдиреЗ, рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ, рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рд╕рдорд░реВрдкрддрд╛ рдЦреЛрдЬрдирд╛, рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рднрд╛рд░рд┐рдд рдЧреНрд░рд╛рдл рдкрд░ рдиреНрдпреВрдирддрдо рдкрде рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 >>> G=nx.Graph() >>> e=[('a','b',0.3),('b','c',0.9),('a','c',0.5),('c','d',1.2)] >>> G.add_weighted_edges_from(e) >>> print(nx.dijkstra_path(G,'a','d')) ['a', 'c', 'd'] 


рдЧреНрд░рд╛рдл рджреГрд╢реНрдп


рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЙрдирдХрд╛ рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди рдорд╛рдзреНрдпрдорд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рд╣реИред
рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдЯрд▓рдкреЛрдЯрд▓рд┐рдм рдкрд╛рдЗрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝ рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рдл рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреНрд╖рдорддрд╛рдУрдВ рдкрд░ рдкреВрд░реНрдг рдкреНрд░рд▓реЗрдЦрди networkx.lanl.gov/reference/drawing.html рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдПрдХ рд╕рд░рд▓ рдЧреНрд░рд╛рдл рджреГрд╢реНрдп рдЙрджрд╛рд╣рд░рдг:
 >>> G=nx.cubical_graph() >>> nx.draw(G) #    spring_layout >>> nx.draw(G,pos=nx.spectral_layout(G), nodecolor='r',edge_color='b') 


Matplotlib рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди


рдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди


рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ


рд░реЗрдЦрд╛рдВрдХрди рдХрд╛ рд╕рдВрдкреВрд░реНрдг рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореБрдЦреНрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЗ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд╣реБрдВрдЪ:
 >>> G=nx.Graph() >>> G.add_edge(1,2,color='red',weight=0.84,size=300) >>> print(G[1][2]['size']) 300 


рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд▓реЗрдЦрди http://networkx.lanl.gov/reference/index рдкрд░ рд╕реНрдерд┐рдд рд╣реИ ред рдПрдЪрдЯреАрдПрдордПрд▓
рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдордЬрд╝рд╛ рдЖрдпрд╛ред рдореИрдВрдиреЗ рдХреБрдЫ рдЫреЛрдЯреА-рдЫреЛрдЯреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЫреЛрдЯреЗ рдЕрдзреНрдпрдпрди рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд░реВрдБрдЧрд╛ред
рд╕рдлрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ!

Source: https://habr.com/ru/post/In125898/


All Articles