【发布时间】:2012-02-29 04:07:21
【问题描述】:
我在使用属性映射时看到了这样的示例,但在使用结构处理顶点和边时没有看到(我认为这被称为“捆绑”)。
我在邻接列表图中定义了这样的顶点和边。
struct Vertex
{
string name;
int some_int;
};
struct Edge
{
double weight;
};
图形构造如下:
typedef boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Vertex, Edge> boost_graph;
我想以Graphviz 格式打印这些对象的图表,以便将其作为图像查看。但是,我不仅想要节点和边。我还希望顶点上的属性name 和边缘上的weight 出现在图像中。我该怎么做?
【问题讨论】:
-
我认为你应该展示一个完整的样本。我看不出你是如何用 Edge 'defined' 来构建树的。也许,边缘的映射属性?
-
@sehe 谢谢。我已将图形定义添加到问题中。边和顶点由函数 boost::add_edge 和 boost::add_vertex 添加
-
您在寻找点格式定义吗? graphviz.org/Gallery.php 只需单击任何示例并查看制作它们所需的代码 :-)
-
@MartinKristiansen 谢谢。实际上,Boost 应该具有打印到我想利用的 graphviz 的功能