From 9d3d41a0874fcd8f15ac393eb061c06f9f46b187 Mon Sep 17 00:00:00 2001 From: dengzq1234 Date: Thu, 4 Jul 2024 10:54:52 +0200 Subject: [PATCH 1/2] correct datatype in heatmap --- treeprofiler/layouts/staple_layouts.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/treeprofiler/layouts/staple_layouts.py b/treeprofiler/layouts/staple_layouts.py index b4e7fad..4ec6487 100644 --- a/treeprofiler/layouts/staple_layouts.py +++ b/treeprofiler/layouts/staple_layouts.py @@ -303,6 +303,7 @@ def set_tree_style(self, tree, tree_style): def set_node_style(self, node): heatmap_num = node.props.get(self.heatmap_prop) if heatmap_num is not None and heatmap_num != 'NaN': + heatmap_num = float(heatmap_num) if node.is_leaf: # heatmap tooltip = "" @@ -310,7 +311,7 @@ def set_node_style(self, node): tooltip += f'{node.name}
' if self.heatmap_prop: tooltip += f'
{self.heatmap_prop}: {heatmap_num}
' - + gradient_color = self.value_color.get(heatmap_num) if gradient_color: @@ -319,7 +320,7 @@ def set_node_style(self, node): node.add_face(identF, column = self.column, position = 'aligned') elif node.is_leaf and node.props.get(self.internal_prop): - heatmap_num = node.props.get(self.internal_prop) + heatmap_num = float(node.props.get(self.internal_prop)) # heatmap tooltip = "" if node.name: @@ -335,7 +336,7 @@ def set_node_style(self, node): node.add_face(identF, column = self.column, position = 'aligned', collapsed_only=True) elif node.props.get(self.internal_prop): - heatmap_num = node.props.get(self.internal_prop) + heatmap_num = float(node.props.get(self.internal_prop)) # heatmap tooltip = "" if node.name: From 46de27b193d755a5f5c0c6302b1d59b35cb217a0 Mon Sep 17 00:00:00 2001 From: dengzq1234 Date: Thu, 29 Aug 2024 17:28:12 +0200 Subject: [PATCH 2/2] in case of datatytpe is none, then go to string compare --- treeprofiler/layouts/staple_layouts.py | 4 ---- treeprofiler/src/utils.py | 3 +-- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/treeprofiler/layouts/staple_layouts.py b/treeprofiler/layouts/staple_layouts.py index eb1db54..2b11e4e 100644 --- a/treeprofiler/layouts/staple_layouts.py +++ b/treeprofiler/layouts/staple_layouts.py @@ -337,12 +337,8 @@ def set_node_style(self, node): node.add_face(identF, column = self.column, position = 'aligned', collapsed_only=True) elif node.props.get(self.internal_prop): -<<<<<<< HEAD - heatmap_num = float(node.props.get(self.internal_prop)) -======= heatmap_num = node.props.get(self.internal_prop) heatmap_num = float(heatmap_num) ->>>>>>> 3f3536686337b50ea7847ec6c92a47b48e04ba2f # heatmap tooltip = "" if node.name: diff --git a/treeprofiler/src/utils.py b/treeprofiler/src/utils.py index 9f13db8..25a95cf 100644 --- a/treeprofiler/src/utils.py +++ b/treeprofiler/src/utils.py @@ -93,7 +93,7 @@ def counter_call(node, internal_prop, leaf_prop, datatype, operator_string, righ def call(node, prop, datatype, operator_string, right_value): num_operators = [ '<', '<=', '>', '>=' ] - if datatype == str: + if datatype == str or datatype is None: if operator_string in num_operators: return False elif operator_string == 'contains': @@ -107,7 +107,6 @@ def call(node, prop, datatype, operator_string, right_value): return left_value in right_value else: left_value = node.props.get(prop) - if left_value: return operator_dict[operator_string](left_value, right_value)