Я пытаюсь визуализировать определенный тип c графа, который имеет 3 различных типа цвета краев в зависимости от того, откуда взяты данные для краев. Проблема в том, что я хочу оживить этот процесс, поэтому для этого мне нужно добавлять по одному краю за раз, но я хочу, чтобы цвет края был предопределен, так что мне не нужно l oop через весь мой график каждый раз, когда я хочу обновить рисунок графика.
Я решил эту проблему, создав второй график с теми же данными, что и первый, вне функции зацикленной анимации, с теми же данными и цветами, связанными с каждым значением, который будет использоваться в качестве легенды.
coGraph = nx.Graph()
coGraph.add_nodes_from(nodeArr)
coGraph.add_edges_from(inputD)
coGraph.add_edges_from(transC)
coGraph.add_edges_from(transFin)
colors = []
for edge in coGraph.edges():
print(str(edge))
if [edge[0], edge[1]]in inputD:
colors.append('black')
elif [edge[0], edge[1]] in transC:
colors.append('red')
elif [edge[0], edge[1]] in transFin:
colors.append('purple')
ani1 = matplotlib.animation.FuncAnimation(fig, updateDT, None, fargs = (transC, transFin,inGraph, pos, colors),
interval = 10, repeat = True, blit = False)
Но по какой-то причине, когда я печатаю края указанного графа или только цвета, он полностью выходит из введенного порядка. inputD, trans C и transFin - это все документы, содержащие строки кортежей. Есть ли способ ввести данные в временный график и сохранить его порядок?