Я не могу рисовать ребра формы (i, i) в networkx [duplicate]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

2
задан genclik27 11 March 2014 в 00:05
поделиться

1 ответ

Graphviz отлично справляется с рисованием стрелок и автопилот. (Нетривиально реализовать в Matplotlib). Вот пример:

import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()
G.add_edges_from(\[(0,1), (0,2), (1,1), (1,2)\])
nx.write_dot(G,'graph.dot')

# then run dot -Tpng graph.dot > graph.png

enter image description here [/g0]

5
ответ дан Aric 19 August 2018 в 08:46
поделиться
  • 1
    Спасибо за ответ. Это то, что я искал. – genclik27 11 March 2014 в 07:54
  • 2
    Я получаю ImportError: ('требует pygraphviz', ' networkx.lanl.gov/pygraphviz ', '(недоступно для Python3)'). Так будет ли эта функция идти вперед? – Back2Basics 11 March 2014 в 10:06
  • 3
    Для использования networkx.write_dot () вам также потребуется либо pygraphviz, либо pydot. – Aric 11 March 2014 в 15:26
  • 4
    Я получаю AttributeError: 'module' object has no attribute 'write_dot' в networkx версии 1.11, и у меня установлены как pygraphviz, так и pydot. Какая версия это? – Paul 10 February 2016 в 15:13
  • 5
    использовать from networkx.drawing.nx_agraph import write_dot – Aric 10 February 2016 в 19:35
Другие вопросы по тегам:

Похожие вопросы: