@@ -58,7 +58,7 @@ def calc_coordinates(pos, height):
5858 return pos [0 ], y
5959
6060
61- def generate_diagram (filename , rect_pos , rect_width , figsize ):
61+ def generate_diagram (rect_pos , rect_width , figsize ):
6262 rw = rect_width
6363
6464 fig = pyplot .figure (figsize = figsize )
@@ -67,7 +67,7 @@ def generate_diagram(filename, rect_pos, rect_width, figsize):
6767 all_h = {}
6868 objs = {}
6969 for name in rect_pos :
70- objs [name ] = fake_neo (name )
70+ objs [name ] = fake_neo (name , cascade = False )
7171 all_h [name ] = get_rect_height (name , objs [name ])
7272
7373 # draw connections
@@ -81,6 +81,8 @@ def generate_diagram(filename, rect_pos, rect_width, figsize):
8181
8282 for r in range (3 ):
8383 for ch_name in relationships [r ]:
84+ if ch_name not in rect_pos :
85+ continue
8486 x1 , y1 = calc_coordinates (rect_pos [ch_name ], all_h [ch_name ])
8587 x2 , y2 = calc_coordinates (pos , all_h [name ])
8688
@@ -196,28 +198,35 @@ def generate_diagram(filename, rect_pos, rect_width, figsize):
196198
197199 ax .set_xticks ([])
198200 ax .set_yticks ([])
199- fig .savefig (filename , dpi = dpi )
201+
202+ return fig
200203
201204
202205def generate_diagram_simple ():
203206 figsize = (18 , 12 )
204207 rw = rect_width = 3.
205208 bf = blank_fact = 1.2
206- rect_pos = {'Block' : (.5 + rw * bf * 0 , 4 ),
209+ rect_pos = {
210+ # col 0
211+ 'Block' : (.5 + rw * bf * 0 , 4 ),
212+ # col 1
207213 'Segment' : (.5 + rw * bf * 1 , .5 ),
208- 'Event' : (.5 + rw * bf * 4 , 3.0 ),
209- 'Epoch' : (.5 + rw * bf * 4 , 1.0 ),
210214 'Group' : (.5 + rw * bf * 1 , 7.5 ),
211- 'ChannelView' : (.5 + rw * bf * 2. , 9.9 ),
212- 'SpikeTrain' : (.5 + rw * bf * 3 , 7.5 ),
215+ # col 2
213216 'IrregularlySampledSignal' : (.5 + rw * bf * 3 , 0.5 ),
214- 'AnalogSignal' : (.5 + rw * bf * 3 , 4.9 ),
217+ 'AnalogSignal' : (.5 + rw * bf * 3 , 2.9 ),
218+ 'ImageSequence' : (.5 + rw * bf * 3 , 5.0 ),
219+ 'SpikeTrain' : (.5 + rw * bf * 3 , 7.5 ),
220+ # col 3
221+ 'Event' : (.5 + rw * bf * 4 , 3.0 ),
222+ 'Epoch' : (.5 + rw * bf * 4 , 1.0 ),
223+
215224 }
216225 # todo: add ImageSequence, RegionOfInterest
217- generate_diagram ('simple_generated_diagram.svg' ,
218- rect_pos , rect_width , figsize )
219- generate_diagram ('simple_generated_diagram.png' ,
220- rect_pos , rect_width , figsize )
226+ fig = generate_diagram (rect_pos , rect_width , figsize )
227+ fig . savefig ( 'simple_generated_diagram.png' , dpi = dpi )
228+ fig . savefig ('simple_generated_diagram.svg' , dpi = dpi )
229+
221230
222231
223232if __name__ == '__main__' :
0 commit comments