- Привет, я довольно новичок в сетях, и я пытаюсь запрограммировать код, который получает все файлы .edges и .nodes из папки и генерирует графический файл, чтобы я мог визуализировать его в другом программном обеспечении. Но мне также нужно добавить некоторые цвета в мои узлы, но когда я попробовал это, я получил: KeyError 29
- Я выполнял цикл через мой массив узлов, чтобы добавить цвет каждого узла.
Вот часть кода, где я пытаюсь добавить атрибут цвета. Таким образом, узлы будут окрашены в 4 разных цвета: лучший фитнес, тем хуже, лучший 10% лучший фитнес и 10% хуже.Как экспортировать сеть и атрибуты в graphml с помощью networkx?
for i in range(len(nodes)): if nodes[i]==top: NetGraph.node[i]['color']='r'
Надеюсь, вы можете мне помочь! Приветствия
ответ
Если вы пытаетесь «сливать» данные отношения, которые хранятся в ряде файлов различных .nodes' and
.edges' в одном графике, то вполне возможно, что, как файлы считываются с диска вы пришли через узел, который еще не добавлен в график.
В целом, я считаю, что для получения более значимого ответа на этот вопрос требуется дополнительная информация. Например: каков формат файлов .node
и .edge
? Что находится в переменной top
? (Это список или одна числовая переменная, представляющая порог?).
Однако, основываясь на том, что упоминается до сих пор в этом вопросе, вот несколько советов:
Попробуйте сначала построить график и цвет его позже. Это может показаться незначительным, если у вас уже есть данные о пригодности, но это будет самый простой способ заставить вас работать с частью кода.
Убедитесь, что идентификаторы узлов действительно являются целыми числами. То есть каждый узел известен на графике по его значению индекса. Например, 2,3,5 и т. Д. Вместо «Париж», «Лондон», «Берлин» и т. Д. (Т. Е. Идентификаторы строковых узлов). Если это последний, тогда лучше будет сформироваться как:
for aNode in G.nodes(data = True):
. Это вернет итератор с идентификатором каждого узла и словарем со всеми данными существующего узла.Если
top
является одной переменной, то это не имеет смысла сравнивать идентификатор узла сtop
порога. Это было бы похоже на то, что если 22 (который является идентификатором узла) равен 89 (это некоторое выражение эффективности), то примените красный цвет к узлу. Еслиtop
- это список, содержащий все узлы, которые считаются вершинами узлов, тогда выражение условия должно быть:if nodes[i] in top:
.Вы, кажется, пропустили отступ ниже
if
(?). Для оператора, который присваивает цвет узлу при условии, что условиеTrue
, для работы ему нужно отступом еще один набор из 4 пробелов справа.Выражение для присвоения цвета является правильным.
Обратите внимание: Networkx попытается записать каждый атрибут узла и края, который попадает на график в соответствующий формат. Для получения дополнительной информации об этом см. Ответ на этот вопрос. Поэтому, как только вы удовлетворены структурой данного графа (G), вы можете просто вызвать
networkx.write_graphml(G, 'mygraph.gml')
, чтобы сохранить его на диске (гдеnetworkx
- это имя модуля). Функцииnetworkx.write_*
будут экспортировать полную версию вашего графика (G) в несколько разных форматов или повысить исключение, если тип данных не может быть сериализован правильно.
Я надеюсь, что это помогает. С удовольствием отменяем ответ, если позже будут предоставлены более подробные сведения.
- 1. Python Networkx не может экспортировать в graphml с атрибутами
- 2. Нарисуйте взвешенную сложную сеть с помощью NetworkX
- 3. Как экспортировать график в svg/graphml
- 4. Слияние нескольких GraphML-файлов с NetworkX и удалить дубликаты
- 5. Как преобразовать сеть в другую с помощью Networkx
- 6. Как экспортировать диаграмму networkx в javascript?
- 7. Networkx дает атрибуты как соседи
- 8. Атрибуты доступа Multigraph в NetworkX
- 9. Написание GraphML с помощью XOM?
- 10. Networkx и nx.write_gexf ... Атрибуты динамического узла
- 11. Как импортировать GraphML в JGraphT
- 12. Networkx: нарисуйте грани определенные атрибуты
- 13. Атрибуты узлов для циклов, NetworkX
- 14. Визуализируйте NetworkX с помощью vis.js
- 15. Python's Networkx, обновляющие атрибуты «автоматически»
- 16. Networkx: как показать атрибуты узла и края в графическом чертеже
- 17. Экспорт графика в граф с позициями узлов с помощью NetworkX
- 18. Как читать в графическом файле в networkx со странными символами?
- 19. Экспортировать все атрибуты продукта
- 20. Обнаружение сообщества с помощью python и networkx
- 21. Импорт графа из графика, восстанавливающего позиции узлов с помощью NetworkX
- 22. NetworkX: Изоморфизм субграфов с помощью атрибутов edge и node
- 23. Чтение GraphML в Haskell
- 24. networkx: рисовать сеть как разделение двух типов узлов
- 25. Настройка вывода XML в GraphML
- 26. Расчет SimRank с помощью NetworkX?
- 27. как выполнить довольный макет для моих данных (сложная сеть) с помощью networkx или что-то еще
- 28. Как визуализировать произвольный json с помощью networkx?
- 29. Как вычислить «близлежащие» узлы с помощью networkx
- 30. Как экспортировать сверточную нейронную сеть с одного языка на другой?
Было ли это разрешено? Вы нашли ответ полезным? –