Что я должен использовать, чтобы включить визуализацию интерактивного графа в графический интерфейс Python? - PullRequest
0 голосов
/ 10 июня 2019

Я хочу создать графический интерфейс для программы, которую я пишу, и я хотел бы, чтобы в программе был интерактивный граф (здесь граф означает сеть узлов и ребер).Я хотел бы, чтобы пользователи использовали графический интерфейс для создания узлов и изменения их свойств, а также для выполнения расчетов на графике (с написанным мною кодом).Я также хочу, чтобы различные кластеры узлов расширялись и складывались при нажатии на них, или, может быть, вы попадете в другое окно, где вы можете увидеть подструктуру узла.Также было бы неплохо, если бы щелкнув по узлу, вы также можете изменить его свойства.Любые рекомендации о том, как использовать это будет принята с благодарностью.

1 Ответ

0 голосов
/ 10 июня 2019

Нет программ / библиотек для Python, которые позволили бы вам делать все, что вы хотите.

Вы можете проверить эти библиотеки:

  • bokeh :
    • Имеет хорошие интерактивные визуализации
    • Создан на основе D3.js
    • Это всего лишь библиотека визуализаций, поэтому в ней почти нет инструментов для манипулирования графиком
  • networkx :
    • Невероятно большое количество различных алгоритмов
    • Имеет довольно хорошую неинтерактивную визуализацию
    • Чистый Python, написанный такмедленный
  • igraph :
    • Имеет большое количество алгоритмов
    • Ядро написано на C, поэтому оно действительно быстрое
    • Имеет среднюю неинтерактивную визуализацию

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

Но есть и хорошие новости - большинство вещей, которые вам нужны, можно сделать с помощью программного обеспечения Gephi (написанного на Java).Вы также можете проверить Cytoscape программное обеспечение - возможно, оно подойдет вам немного больше, чем Gephi.

...