Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Почему график NetworkX не рисуется в Cygwin?

Автор вопроса: sdasdadasОтветов: 1

Я использую Python и NetworkX (графическую библиотеку) на Cygwin (Windows 7).

Следующий код создает график и пытается его нарисовать, но на экране ничего не появляется:

plt.ion()
nx.draw(nx.petersen_graph())
plt.show()

Ошибок вроде нет.

Я также попытался сохранить график на изображение, используя:

plt.savefig("test.png")

который создает правильный образ.

Это связано с matplotlib и Cygwin?

  • у вас установлен интерактивный бэкенд? tacaswell 06.06.2013
  • @tcaswell Это означает matplotlib или pyplot? Если да, то да оба устанавливаются и работают в других приложениях. sdasdadas 06.06.2013
  • Глупый вопрос, но как вы запускаете этот код? Это из командной строки или интерактивной оболочки Python, такой как IPhyton, или через какую-то IDE, например PyScripter? Если это так, вам нужно включить интерактивный режим, см.: code.google.com/p /pyscripter/wiki/? EdChum 06.06.2013
  • Вы используете TkAgg, gtkagg на qtagg? tacaswell 06.06.2013
  • @tcaswell Мой бэкенд был настроен на "agg". sdasdadas 07.06.2013
  • @EdChum У меня сложилось впечатление, что plt.ion() включает интерактивный режим? sdasdadas 07.06.2013

pythonmatplotlibgraphcygwinnetworkx

Ответы

Ответ 1 · рейтинг 1 · sdasdadas

Я исправил эту проблему:

  1. Запускаем X с помощью startxwin и запускаем скрипт оттуда.
  2. Изменение параметра backend = agg на backend = tkagg в моем файле matplotlibrc.

Спасибо tcaswell и EdChum за помощь.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы