ツリー イメージを作成しました。質問を参照してください。
今、私はいくつかの主要なグループを持っています。
1 つのグループには、緑と茶色のノードがあり、「B」と「A」があります。2 番目のグループにはピンクのノードと「T」のみがあり、最後のグループには黄色、オレンジ、青、および文字「L」、「X」、「H」があります。色はノードの色を示し、文字は名前に属します。そこで、さまざまなグループのエッジに色を付けたいと思います。
#taken from draw_graphviz
def get_label_mapping(G, selection):
for node in G.nodes():
if (selection is None) or (node in selection):
try:
label = str(node)
if label not in (None, node.__class__.__name__):
yield (node, label)
except (LookupError, AttributeError, ValueError):
pass
labels = dict(get_label_mapping(G, None))
for label in labels.keys():
if str(label) != "Clade":
num = label.name.split('-')
if 'T' in num[0]:
node_colors.append('#CC6699')
elif 'X' in num[0]:
node_colors.append('r')
else:
node_colors.append('y')
上記と同様の関数を実行したので、node の代わりに get_edge に変更しました。これを試してください:
for edge in edges.keys():
if str(edge) != "Clade":
if 'T' in edge:
edge_colors.append('b')
エッジは次のとおりです。
(Clade(branch_length=-0.00193, name='T-7199-8'), Clade(branch_length=0.00494))
おそらく、名前に T が含まれている場合は、エッジに色を付ける方法があります。どう思いますか?
誰もこれを行う方法を知っていますか?
ありがとうございました