Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 16, 2017 22:23:49

heyyyy
Зарегистрирован: 2017-01-22
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Построение визуальных графов

Помогите пожалуйста, пытаюсь построить граф на подобии как в этой статье Анализ дружеских связей VK с помощью Python.
Сгенерировал список, но не понимаю как там преобразовать его в такой json файл как здесь

Офлайн

#2 Фев. 17, 2017 04:44:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Построение визуальных графов

heyyyy

 import json
json.dumps(my_data)

Долго придумывал, что бы такого едкого сказать, не придумалось.



Офлайн

#3 Фев. 17, 2017 09:33:14

heyyyy
Зарегистрирован: 2017-01-22
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Построение визуальных графов

FishHook мы не поняли друг друга) как сделать json я знаю, меня интересует именно как в примере это сделали

 {
  "nodes": [
    {"id": "Myriel", "group": 1},
    {"id": "Napoleon", "group": 3},
    {"id": "Mlle.Baptistine", "group": 5},
    {"id": "Mme.Magloire", "group": 1}],
"links": [
    {"source": "Napoleon", "target": "Myriel", "value": 1},
    {"source": "Mlle.Baptistine", "target": "Myriel", "value": 8},
    {"source": "Mme.Magloire", "target": "Myriel", "value": 10},
    {"source": "Mme.Magloire", "target": "Mlle.Baptistine", "value": 6}]
}

И у меня есть список друзей такого формата
  [ ( {Мой друг}, [ {Общий друг}, {Еще общий друг} ] ), ( {Второй друг}, [ {Общий друг} ] ) ] 
Я хочу визуализировать графф, но не могу понять как это сделать

Офлайн

#4 Фев. 17, 2017 10:02:36

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Построение визуальных графов

heyyyy
меня есть список друзей такого формата
Это не питоний код.



Офлайн

#5 Фев. 17, 2017 11:18:13

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Построение визуальных графов

heyyyy
И у меня есть список друзей такого формата
 import json
import ast
z = [ ( {'Antonio'}, [ {'Igor'}, {'Aleksandr'} ] ), ( {'John'}, [ {'Dasha'} ] ) ]
def set_default(obj):
    if isinstance(obj, set):
        return obj.pop()
    raise TypeError
print(dict(ast.literal_eval(json.dumps(z, default=set_default))))

Взято отседа

Отредактировано noob_saibot (Фев. 17, 2017 11:20:07)

Офлайн

#6 Фев. 17, 2017 11:23:48

heyyyy
Зарегистрирован: 2017-01-22
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Построение визуальных графов

FishHook

 [({'first_name': 'Вася', 'uid': 111111, 'last_name': 'Пупкин'}, [{'first_name': 'МИша',  'uid': 222222, 'last_name': 'Пупкин'}])]
то есть список состоит из кортежей, где первый это словарь с моим другом а вторым идет список словарей с нашими общими друзьями. Я хочу из этого сделать визуальный граф

Офлайн

#7 Фев. 17, 2017 11:24:57

heyyyy
Зарегистрирован: 2017-01-22
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Построение визуальных графов

noob_saibot
спасибо большое надо попробовать

Офлайн

#8 Фев. 18, 2017 15:27:45

heyyyy
Зарегистрирован: 2017-01-22
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Построение визуальных графов

noob_saibot ваш вариант попробовал у меня вылетала ошибка, но я решил это простым перебором и добавлением вершин в один словарь, а ребер в другой. Потом с помощью networkx и matplotlib визуалтзировал )

Подскажите можно ли выкладывать сюда ссылки на гит к примеру, для оценивания качества кода?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version