2015-03-12 2 views
0

Я использую проект pydot для создания графиков, показывающих отношения между различными данными.Визуализация данных в реальном времени с использованием pydot

import pydot 

graph = pydot.Dot(graph_type='graph') 

for i in range(3): 
edge = pydot.Edge("Root", "Connection%d" % i) 
graph.add_edge(edge) 

conn_num = 0 
for i in range(3): 
for j in range(2): 
    edge = pydot.Edge("Connection%d" % i, "Sub-connection%d" % conn_num) 
    graph.add_edge(edge) 
    conn_num += 1 

graph.write_png('graph.png') 

выполнения кода (взятый из here) дает мне: enter image description here

Вопрос

Есть ли способ pydot может быть сконфигурирован для работы в режиме реального времени или есть какие-либо подобные проекты как pydot, которые позволяют делать графики в реальном времени? Что-то, что позволит мне добавить новые ребра по мере поступления данных.

+0

Как вы хотите * см * графики? Вы можете просто создавать новый png-файл каждый раз. –

+0

Да, я могу, но мне нужен только один файл, который динамически обновляется и отображается по мере поступления новых данных – user2061944

ответ

1

Networkx - это модуль python, который специализируется на графиках. Для визуализации используется matplotlib.

В matplotlib вы можете либо очистить, либо повторно нарисовать изображение, либо использовать функции анимации. Очистка и повторное рисование тривиально для кода. Я не использовал функции анимации, но я ожидал бы более быстрые/красивые результаты за счет более сложного кода.

Пример NetworkX использования: how to draw directed graphs using networkx in python? (или вы могли бы использовать фактическую документацию: https://networkx.github.io/)

Matplotlib до актуального вопроса на SE: ​​Dynamically updating plot in matplotlib

 Смежные вопросы

  • Нет связанных вопросов^_^