NetworkX – библиотека Python для анализа сети/графика. В реальном мире большое примерное использование для сетевого анализа является анализ социальной сети (SNA), который используется для описания отношений между народами. Python широко используется для научных и анализа, потому что есть так много пакетов, которые сделали для него, например numpy
, Пандас
, Scikit - учить
и для конкретного поля, такого как сетевой анализ, у них есть ettewx.
. Я покажу вам, как начать с ним и просмотреть созданный график, используя Матплотлиб
упаковка.
Предварительные условия для кода вместе
Вы установили Python на своей машине и можете использовать Пип
Чтобы установить эти пакеты:
pip install --user networkx pip install --user matplotlib
или если вы будете следовать за моими предыдущими сообщениями о установке Python, используя Пьенв
и установка пакетов, использующих пиронв
, вы можете использовать эти команды, потому что я предпочитаю таким образом:
pipenv install networkx pipenv install matplotlib
Подготовка
Давайте создадим два файла в папке для простого демонстрационного проекта, файлы являются test.py
и несчастные
. несчастные .JSON
Файл содержит графические данные, которые вы можете получить из здесь Отказ
- project |_ test.py |_ miserables.json
Кодирование
Теперь, давайте код test.py
Импорт пакетов
Мы будем использовать ettewxx
, Матплотлиб
и встроенный пакет json.
Так как мы будем иметь дело с файлом JSON.
import json import networkx as nx import matplotlib.pyplot as plt
Загрузка данных из файла json
Мы используем JSON
Пакет для загрузки содержимого файла JSON и преобразовать его в словарь.
miserables_graph = None with open('miserables.json') as json_file: miserables_graph = json.load(json_file)
Создание графика сетевогоx
Затем мы создаем объект или экземпляр графа NetworkX и добавить узлы и ребра из ранее импортируемого объекта словаря.
G = nx.Graph() G.add_nodes_from([(node['id'] for node in miserables_graph['nodes'])]) G.add_edges_from([(edge['source'], edge['target']) for edge in miserables_graph['links']])
Рисование графика
И, наконец, показать график, используя Матплотлиб
Отказ
nx.draw(G) plt.show()
Вы можете запустить test.py
Файл с использованием Python Test.py
или Pipenv запустить Python Test.py
Если вы используете пиронв
. Когда вы запустите его, появится экземпляр программы на вашем рабочем столе.
Вы можете выяснить, что рисунок графа рода и уродливый 😆 Я найду, как нанести это позже, но повеселиться, исследуя его самостоятельно.
Оригинал: “https://dev.to/dendihandian/networkx-graph-drawing-using-matplotlib-1lcd”