Changeset 628
- Timestamp:
- 10/27/16 16:38:57 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
mds-and-trees/tree-genealogy.py
r627 r628 37 37 'dots': { 38 38 'color': { 39 'meaning': ' depth',40 'start': ' purple',39 'meaning': 'Lifespan', 40 'start': 'red', 41 41 'end': 'green', 42 42 'bias': 1 43 43 }, 44 44 'size': { 45 'meaning': ' children',45 'meaning': 'EnergyEaten', 46 46 'start': 1, 47 'end': 5,47 'end': 6, 48 48 'bias': 0.5 49 49 }, 50 50 'opacity': { 51 'meaning': ' children',52 'start': 0. 3,53 'end': 0.8,51 'meaning': 'EnergyEaten', 52 'start': 0.2, 53 'end': 1, 54 54 'bias': 1 55 55 } … … 292 292 def add_text(self, file, text, pos, anchor, style=''): 293 293 style = (style if style != '' else 'style="font-family: Arial; font-size: 12; fill: #000000;"') 294 file.write('<text ' + style + ' text-anchor="' + anchor + '" x="' + str(pos[0]) + '" y="' + str(pos[1]) + '" >' + text + '</text>') 294 # assuming font size 12, it should be taken from the style string! 295 file.write('<text ' + style + ' text-anchor="' + anchor + '" x="' + str(pos[0]) + '" y="' + str(pos[1]+12) + '" >' + text + '</text>') 295 296 296 297 def add_dot(self, file, pos, style): … … 562 563 for i in range(len(self.props[prop])): 563 564 if self.props[prop][i] is not None: 564 self.props[prop][i] = (self.props[prop][i] - min_val) / max_val565 self.props[prop][i] = 0 if max_val == 0 else (self.props[prop][i] - min_val) / max_val 565 566 566 567 … … 584 585 585 586 ids = {} 586 def get_id(id): 587 if id not in ids: 588 ids[id] = len(ids) 587 def get_id(id, createOnError = True): 588 if createOnError: 589 if id not in ids: 590 ids[id] = len(ids) 591 else: 592 if id not in ids: 593 return None 589 594 return ids[id] 590 595 … … 606 611 self.time = [0] * nodes 607 612 self.kind = [0] * nodes 613 self.life_lenght = [0] * nodes 608 614 self.props = {} 609 615 … … 652 658 if prop not in default_props: 653 659 if prop not in self.props: 654 self.props[prop] = [ Nonefor i in range(nodes)]660 self.props[prop] = [0 for i in range(nodes)] 655 661 self.props[prop][creature_id] = creature[prop] 656 662 … … 658 664 else: 659 665 raise LoadingError("[OFFSPRING] misses the 'FromIDs' field!") 666 if line_arr[0] == "[DIED]": 667 creature = json.loads(line_arr[1]) 668 creature_id = get_id(creature["ID"], False) 669 if creature_id is not None: 670 for prop in creature: 671 if prop not in default_props: 672 if prop not in self.props: 673 self.props[prop] = [0 for i in range(nodes)] 674 self.props[prop][creature_id] = creature[prop] 675 660 676 661 677 if loaded_so_far >= max_nodes and max_nodes != 0:
Note: See TracChangeset
for help on using the changeset viewer.