给定Makefile(在此示例中不需要命令):
program: src0.o src1.o
src0.o: src0.c src0.h
src1.o: src1.c src1.h src0.h
Run Code Online (Sandbox Code Playgroud)
有谁知道一个可以生成点文件的工具?
如下:
digraph "Dependencies" {
"src0.h" -> "src0.o";
"src0.h" -> "src1.o";
"src1.h" -> "src1.o";
"src0.c" -> "src0.o";
"src1.c" -> "src1.o";
"src0.o" -> "program";
"src1.o" -> "program";
}
Run Code Online (Sandbox Code Playgroud)
请注意,此工具也可以足够智能地快捷.o文件,并假装c文件依赖于它们包含的标头.
digraph "Dependencies" {
"src0.h" -> "src0.c";
"src0.h" -> "src1.c";
"src1.h" -> "src1.c";
"src0.c" -> "program";
"src1.c" -> "program";
}
Run Code Online (Sandbox Code Playgroud) 我正在使用PyDot在python中生成graphviz/dot图.我想用从文件中读取的图像来注释我的节点和边缘,我在文档中找到了如何将图像作为节点
http://www.graphviz.org/doc/info/attrs.html
http://www.graphviz.org/doc/info/shapes.html
http://www.graphviz.org/Documentation/html/shapehowto.html
但不是如何将图像放在节点下甚至更少的边缘.
有谁知道怎么做?
我正在做两个自动机的组合(实际上它是一个换能器).所以,就此而言,我希望在视觉上代表它来分析它.
哪个是最好的工具/库?
人们建议我使用dot和graphviz.哪个更好?我在OCaml中编写代码.那是否有任何图书馆可以绘制?
这是我想要绘制的示例传感器?

我正在构建一个关于图论算法的项目,为此我使用了JGraphT.我完全构建了我的图表,并在过去的几个月中完成了它的工作.现在我想导出它,以便我可以在Gephi中将其可视化.我不想使用JGraph和Java可视化,因为我已经有足够的代码,我想保持简单.我想使用JgraphT的DOTExporter类.我已达到一个点,我导出精细顶点和边,但没有边缘权重.
所以这是我的导出功能.我不知道如何实现ComponentAttributeProvider接口,无法找到解决这个问题的方法.
任何想法我应该放而不是null,null?
static public void exportGraph(){
StringNameProvider<CustomVertex> p1=new StringNameProvider<CustomVertex>();
IntegerNameProvider<CustomVertex> p2=new IntegerNameProvider<CustomVertex>();
StringEdgeNameProvider<CustomWeightedEdge> p3 = new StringEdgeNameProvider<CustomWeightedEdge>();
DOTExporter export=new DOTExporter(p2, p1, p3, null, null);
try {
export.export(new FileWriter("graph.dot"), g);
}catch (IOException e){}
}
Run Code Online (Sandbox Code Playgroud)
我做过这样的事情
ComponentAttributeProvider<CustomWeightedEdge> edgeAttributeProvider =
new ComponentAttributeProvider<CustomWeightedEdge>() {
public Map<String, String> getComponentAttributes(CustomWeightedEdge e) {
Map<String, String> map =new LinkedHashMap<String, String>();
map.put("weight", Double.toString(g.getEdgeWeight(e)));
return map;
}
};
Run Code Online (Sandbox Code Playgroud) 我有以下图表(和随附的点文件)

digraph G {
a -> c;
a -> d;
a -> q;
a -> x;
a -> qp;
}
Run Code Online (Sandbox Code Playgroud)
我想在图表"国际象棋风格视图"中组织节点,如下所示:

怎么能实现这一目标?
我已经使用GraphViz官方网站上描述的推荐程序在Fedora上安装了Graphviz .但是,我无法hello.dot使用dot命令转换基本文件.
我的hello.dot文件是:
graph hello {
Node1 [label="Hello, World!"]
}
Run Code Online (Sandbox Code Playgroud)
错误是:
$ dot hello.dot -Tpng -o hello.png
Format: "png" not recognized. Use one of:
$
Run Code Online (Sandbox Code Playgroud) 我正在使用dot - graphviz版本2.26.3(20100126.1600)
我想要一个带有以下标签的节点(包括\):
文字在这里\"\"更多文字
我试过更换了"with with",\\",问题是GraphViz解释"为";无论如何.
如何在标签中输出\"\"?
我可以使用此代码生成图表:
档案test.dot:
digraph g {
{rank=same; 1 -> 2 -> 3 -> 4}
{rank=same; 5 -> 6 -> 7 -> 8}
{rank=same; 9 -> 10 -> 11 -> 12}
4 -> 5
8 -> 9
}
Run Code Online (Sandbox Code Playgroud)
dot test.dot -Tpng -o test.png
输出:
但是,我希望节点的排列更像这样:
是否可以制作这样的图形graphviz dot?
我使用点语来绘制一个简单的图形,该图形仅包含一个节点和指向该节点的边缘点。我想出了一种方法:
digraph dot {
n0 [label= "", shape=none]
n0 -> n1
}
Run Code Online (Sandbox Code Playgroud)
此实现在图形顶部创建一个空白。那么如何删除空白呢?换句话说,有没有更好的实现方法?