C ++ LEMON Graph Library - Показать карту дуги / ребра с помощью graphToEps () - PullRequest
0 голосов
/ 28 февраля 2020

Используя библиотеку LEMON C ++ и GraphToEps , я пытаюсь визуализировать сеточный граф с сопровождающими весами ребер (или ar c), без удачи. Вот что у меня есть в моем main () :

// Create graph and init maps
GridGraph g = GridGraph(5, 5);
GridGraph::NodeMap<Point> coords(g);
GridGraph::EdgeMap<int> weights(g, 1);

// Set positions of nodes for graphToEps use
for(GridGraph::NodeIt u(g); u != INVALID; ++u ) {
    coords[u] = g.pos(u);
}

cout << "Create 'graph.eps'" << endl;
graphToEps(g,"graph.eps").
        coords(coords).
        title("Sample .eps figure").
        run();

Я могу получить текст узла (который я упустил из вышеприведенного кода для простоты), используя graphToEps.nodeTexts(id) , как показано в graphToEps demo , но я не могу найти что-то вроде edgeTexts(weights(id)) или arcTexts(weights(id)).

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

Сетка графического изображения

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 27 марта 2020

Кажется, не существует встроенного способа сделать это. Я закончил тем, что подключился к части graphToEps, которая печатает текст узла, а затем просто выяснил, где разместить текст для всех ребер. Все ребра «напечатаны», как если бы они были узлами.

Я, вероятно, добавлю запрос на извлечение позже в этом году.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...