[英]C++ LEMON Graph Library - Show arc/edge map with graphToEps()
使用LEMON C++ 庫和GraphToEps ,我試圖可視化帶有邊(或弧)權重的網格圖,但沒有運氣。 到目前為止,這是我在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.nodeTexts(id)
,如 graphToEps演示中所示,但我找不到像edgeTexts(weights(id))
或arcTexts(weights(id))
。
上面代碼的輸出如下所示,我希望地圖weights
位於相應邊緣的頂部。
任何幫助是極大的贊賞。
似乎沒有內置的方法來做到這一點。 我最終連接到了打印節點文本的 graphToEps 部分,然后找出所有邊的文本放置位置。 所有的邊都被“打印”,就好像它們是節點一樣。
我可能會在今年晚些時候提出拉取請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.