C++ LEMON 图形库 - 使用 graphToEps() 显示 arc/edge 地图
C++ LEMON Graph Library - Show arc/edge map with graphToEps()
使用 LEMON C++ library and GraphToEps, I am trying to visualize a grid graph 和伴随的边(或弧)权重,没有运气。到目前为止,这是我的 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
的权重位于相应边的顶部。
Grid graph image
非常感谢任何帮助。
似乎没有内置的方法来执行此操作。
我最终连接到打印节点文本的 graphToEps 部分,然后找出所有边缘的文本放置位置。所有边都是 "printed" 就好像它们是节点一样。
我可能会在今年晚些时候提出拉取请求。
使用 LEMON C++ library and GraphToEps, I am trying to visualize a grid graph 和伴随的边(或弧)权重,没有运气。到目前为止,这是我的 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
的权重位于相应边的顶部。
Grid graph image
非常感谢任何帮助。
似乎没有内置的方法来执行此操作。 我最终连接到打印节点文本的 graphToEps 部分,然后找出所有边缘的文本放置位置。所有边都是 "printed" 就好像它们是节点一样。
我可能会在今年晚些时候提出拉取请求。