def get_node_values(<EOL>self, <EOL>feature=None, <EOL>show_root=False, <EOL>show_tips=False, <EOL>):
<EOL>ndict = self.get_node_dict(return_internal=True, return_nodes=True)<EOL>nodes = [ndict[i] for i in range(self.nnodes)[::-<NUM_LIT:1>]]<EOL>if feature:<EOL><INDENT>vals = [i.__getattribute__(feature) if hasattr(i, feature)<EOL>else "<STR_LIT>" for i in nodes]<EOL><DEDENT>else:<EOL><INDENT>vals = ["<STR_LIT:U+0020>" for i in nodes]<EOL><DEDENT>if not show_root:<EOL><INDENT>vals = [i if not j.is_root() else "<STR_LIT>" for i, j in zip(vals, nodes)]<EOL><DEDENT>if not show_tips:<EOL><INDENT>vals = [i if not j.is_leaf() else "<STR_LIT>" for i, j in zip(vals, nodes)]<EOL><DEDENT>try:<EOL><INDENT>if all([Decimal(str(i)) % <NUM_LIT:1> == <NUM_LIT:0> for i in vals if i]):<EOL><INDENT>vals = [int(i) if isinstance(i, float) else i for i in vals]<EOL><DEDENT><DEDENT>except Exception:<EOL><INDENT>pass<EOL><DEDENT>return vals<EOL>
Returns node values from tree object in node plot order. To modify
values you must modify the .treenode object directly by setting new
'features'. For example

for node in ttree.treenode.traverse():
    node.add_feature("PP", 100)

By default node and tip values are hidden (set to "") so that they
are not shown on the tree plot. To include values for these nodes
use the 'show_root'=True, or 'show_tips'=True arguments.

tree.get_node_values("support", True, True)