Я пытаюсь нарисовать диаграмму взаимосвязи данных.Я смоделировал свои входные данные в тройках (субъект, предикат, объект), например (приложение, «потребляет», объект), (приложение, «мастер», объект) и т. Д. Каждая тройка - это ребро и 2 узла.Я хочу также раскрасить разные наборы узлов разными цветами.Я борюсь с установкой атрибута цвета, а также сохранением графика в png-файл с размером, доступным для чтения
Вот код:
G = nx.DiGraph ()
чтение входных данных из файла ипроцесс - списки узлов и ребер ...... добавить узлы - установить цвет различий для каждого набора узлов ??
G.add_nodes_from (list(entities), node_color='yellow')
G.add_nodes_from (list(sornodes))
G.add_nodes_from (list (consumernodes))
добавить ребра - установить цвет различий для каждого набора ребер (каксделать это?)
G.add_edges_from (masters)
G.add_edges_from (consumers)
G.add_edges_from (ads)
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G, pos, node_size=1700)
nx.draw_networkx_edges (G, pos, arrow=True)
nx.draw_networkx_labels (G, pos)
nx.draw_spring (G)
plt.figure(figsize=(7.195, 3.841))
fig1 = plt.gcf()
fig1.savefig ('out.png', dpi=1000)
plt.show ()
В файле нет изображения.plt.show открывает график в новом окне, а также открывается другое пустое окно.Я запускаю это из оболочки Bash.Закрытие обоих окон изображений завершает программу.
- Мне нужно иметь возможность показывать наборы узлов в разных цветах.
- Мне нужно иметь возможность показывать наборы ребер в разныхцвета
- Я хочу иметь возможность масштабировать график для большого изображения - не нужно вписываться в размер монитора
Думаете, кто-нибудь?