2013-10-06 2 views
12

Я пытаюсь нарисовать любой график в NetworkX, но ничего не получить, даже не ошибки:рисовать график в NetworkX

import networkx as nx 
import matplotlib.pyplot as plt 
g1=nx.petersen_graph() 
nx.draw(g1) 
+1

также убедитесь, что вы используете интерактивный бэкенд. Что возвращает 'matplotlib.get_backend()'? – tacaswell

ответ

19

Добавить в конце:

plt.show() 

import networkx as nx 
import matplotlib.pyplot as plt 
g1 = nx.petersen_graph() 
nx.draw(g1) 
plt.show() 

При запуске из интерактивной оболочки, где был вызван plt.ion(), plt.show() не требуется. Вероятно, поэтому он опущен во многих примерах.

Если вы запустите эти команды из сценария (где plt.ion() не был вызван), необходим plt.show(). plt.ion() подходит для интерактивных сеансов, но есть n ot recommended for scripts.

+0

показать() помогло. Спасибо за это. Я закончил тем, что сохранил цифры без show(). – denfromufa

4

в IPython ноутбука, просто наберите в магии

%matplotlib inline 

или

%matplotlib notebook 
Смежные вопросы