@@ -55,19 +55,21 @@ class NetworkArtist(PlotterArtist, NetworkArtist):
5555
5656 """
5757
58- def __init__ (self ,
59- network : Network ,
60- nodes : Optional [List [int ]] = None ,
61- edges : Optional [List [int ]] = None ,
62- nodecolor : Color = (1.0 , 1.0 , 1.0 ),
63- edgecolor : Color = (0.0 , 0.0 , 0.0 ),
64- edgewidth : float = 1.0 ,
65- show_nodes : bool = True ,
66- show_edges : bool = True ,
67- nodesize : int = 5 ,
68- sizepolicy : Literal ['relative' , 'absolute' ] = 'relative' ,
69- zorder : int = 1000 ,
70- ** kwargs ):
58+ def __init__ (
59+ self ,
60+ network : Network ,
61+ nodes : Optional [List [int ]] = None ,
62+ edges : Optional [List [int ]] = None ,
63+ nodecolor : Color = (1.0 , 1.0 , 1.0 ),
64+ edgecolor : Color = (0.0 , 0.0 , 0.0 ),
65+ edgewidth : float = 1.0 ,
66+ show_nodes : bool = True ,
67+ show_edges : bool = True ,
68+ nodesize : int = 5 ,
69+ sizepolicy : Literal ["relative" , "absolute" ] = "relative" ,
70+ zorder : int = 1000 ,
71+ ** kwargs ,
72+ ):
7173
7274 super ().__init__ (network = network , ** kwargs )
7375
@@ -101,21 +103,31 @@ def item(self, item: Network):
101103
102104 @property
103105 def data (self ) -> List [List [float ]]:
104- return self .network .nodes_attributes ('xy' )
106+ return self .network .nodes_attributes ("xy" )
105107
106108 @property
107109 def node_size (self ):
108110 if not self ._node_size :
109- factor = self .plotter .dpi if self .sizepolicy == 'absolute' else self .network .number_of_nodes ()
111+ factor = (
112+ self .plotter .dpi
113+ if self .sizepolicy == "absolute"
114+ else self .network .number_of_nodes ()
115+ )
110116 size = self .default_nodesize / factor
111117 self ._node_size = {node : size for node in self .network .nodes ()}
112118 return self ._node_size
113119
114120 @node_size .setter
115121 def node_size (self , nodesize ):
116- factor = self .plotter .dpi if self .sizepolicy == 'absolute' else self .network .number_of_nodes ()
122+ factor = (
123+ self .plotter .dpi
124+ if self .sizepolicy == "absolute"
125+ else self .network .number_of_nodes ()
126+ )
117127 if isinstance (nodesize , dict ):
118- self .node_size .update ({node : size / factor for node , size in nodesize .items ()})
128+ self .node_size .update (
129+ {node : size / factor for node , size in nodesize .items ()}
130+ )
119131 elif isinstance (nodesize , (int , float )):
120132 self ._node_size = {node : nodesize / factor for node in self .network .nodes ()}
121133
@@ -132,7 +144,7 @@ def clear_nodes(self):
132144
133145 """
134146 if self ._nodecollection :
135- self .plotter . axes . remove_collection ( self . _nodecollection )
147+ self ._nodecollection . remove ( )
136148 self ._nodecollection = None
137149
138150 def clear_edges (self ):
@@ -144,14 +156,16 @@ def clear_edges(self):
144156
145157 """
146158 if self ._edgecollection :
147- self .plotter . axes . remove_collection ( self . _edgecollection )
159+ self ._edgecollection . remove ( )
148160 self ._edgecollection = None
149161
150- def draw (self ,
151- nodes : Optional [List [int ]] = None ,
152- edges : Optional [Tuple [int , int ]] = None ,
153- nodecolor : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ,
154- edgecolor : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ) -> None :
162+ def draw (
163+ self ,
164+ nodes : Optional [List [int ]] = None ,
165+ edges : Optional [Tuple [int , int ]] = None ,
166+ nodecolor : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ,
167+ edgecolor : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ,
168+ ) -> None :
155169 """Draw the network.
156170
157171 Parameters
@@ -178,9 +192,11 @@ def draw(self,
178192 if self .show_edges :
179193 self .draw_edges (edges = edges , color = edgecolor )
180194
181- def draw_nodes (self ,
182- nodes : Optional [List [int ]] = None ,
183- color : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ) -> None :
195+ def draw_nodes (
196+ self ,
197+ nodes : Optional [List [int ]] = None ,
198+ color : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ,
199+ ) -> None :
184200 """Draw a selection of nodes.
185201
186202 Parameters
@@ -215,17 +231,16 @@ def draw_nodes(self,
215231 circles .append (circle )
216232
217233 collection = PatchCollection (
218- circles ,
219- match_original = True ,
220- zorder = self .zorder_nodes ,
221- alpha = 1.0
234+ circles , match_original = True , zorder = self .zorder_nodes , alpha = 1.0
222235 )
223236 self .plotter .axes .add_collection (collection )
224237 self ._nodecollection = collection
225238
226- def draw_edges (self ,
227- edges : Optional [Tuple [int , int ]] = None ,
228- color : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ) -> None :
239+ def draw_edges (
240+ self ,
241+ edges : Optional [Tuple [int , int ]] = None ,
242+ color : Optional [Union [str , Color , List [Color ], Dict [int , Color ]]] = None ,
243+ ) -> None :
229244 """Draw a selection of edges.
230245
231246 Parameters
@@ -259,9 +274,9 @@ def draw_edges(self,
259274 lines ,
260275 linewidths = widths ,
261276 colors = colors ,
262- linestyle = ' solid' ,
277+ linestyle = " solid" ,
263278 alpha = 1.0 ,
264- zorder = self .zorder_edges
279+ zorder = self .zorder_edges ,
265280 )
266281 self .plotter .axes .add_collection (collection )
267282 self ._edgecollection = collection
@@ -292,19 +307,20 @@ def draw_nodelabels(self, text: Optional[Dict[int, str]] = None) -> None:
292307 color = (0 , 0 , 0 ) if is_color_light (bgcolor ) else (1 , 1 , 1 )
293308
294309 text = self .node_text .get (node , None )
295- print (text )
296310 if text is None :
297311 continue
298312
299313 x , y = self .node_xyz [node ][:2 ]
300314 artist = self .plotter .axes .text (
301- x , y ,
302- f'{ text } ' ,
315+ x ,
316+ y ,
317+ f"{ text } " ,
303318 fontsize = self .plotter .fontsize ,
304- family = 'monospace' ,
305- ha = 'center' , va = 'center' ,
319+ family = "monospace" ,
320+ ha = "center" ,
321+ va = "center" ,
306322 zorder = 10000 ,
307- color = color
323+ color = color ,
308324 )
309325 labels .append (artist )
310326
@@ -343,13 +359,21 @@ def draw_edgelabels(self, text: Optional[Dict[int, str]] = None) -> None:
343359 y = 0.5 * (y0 + y1 )
344360
345361 artist = self .plotter .axes .text (
346- x , y , f'{ text } ' ,
362+ x ,
363+ y ,
364+ f"{ text } " ,
347365 fontsize = self .plotter .fontsize ,
348- family = 'monospace' ,
349- ha = 'center' , va = 'center' ,
366+ family = "monospace" ,
367+ ha = "center" ,
368+ va = "center" ,
350369 zorder = 10000 ,
351370 color = (0 , 0 , 0 ),
352- bbox = dict (boxstyle = 'round, pad=0.3' , facecolor = (1 , 1 , 1 ), edgecolor = None , linewidth = 0 )
371+ bbox = dict (
372+ boxstyle = "round, pad=0.3" ,
373+ facecolor = (1 , 1 , 1 ),
374+ edgecolor = None ,
375+ linewidth = 0 ,
376+ ),
353377 )
354378 labels .append (artist )
355379
0 commit comments