如何使用Graphviz从点文件格式生成PNG图像

用户名

我有一个实现优先级队列的Java类。然后,我有一个类测试,该类生成如下图:

digraph G {
Milan  (0.0)       ->     Turin  (1.2)       
Milan  (0.0)       ->     Montreal  (7.0)       
Turin  (1.2)       ->     Paris  (5.8)       
Turin  (1.2)       ->     Tokyo  (2.2)       
}

此图保存在名为“队列”的文件中。

现在,我希望使用Graphviz在PNG图像中显示该图。因此,我的测试文件的最后一次调用(在您创建优先级并填充队列之后)是:

queue.toString("queue");

行。toString方法如下:

public void toString(String fileDot){
    try {
        FileOutputStream file = new FileOutputStream(fileDot); 
        PrintStream Output = new PrintStream(file); 
        Output.print(this.printQueue()); 
        Output.close(); 
        File f = new File(fileDot); 
        String arg1 = f.getAbsolutePath(); 
        String arg2 = arg1 + ".png"; 
        String[] c = {"dot", "-Tpng", arg1, "-o", arg2};
        Process p = Runtime.getRuntime().exec(c); 
        int err = p.waitFor(); 
    }
    catch(IOException e1) {
        System.out.println(e1);
    }
    catch(InterruptedException e2) {
        System.out.println(e2);
    }
}

private String printQueue() throws IOException {
    String g = new String("");
    char c = '"';
    g = g.concat("digraph G {\n");
    if(isEmpty()) 
        g = g.concat("    " + "Empty priority queue.");
    else {
        for(int i = 0; i < lastIndex; i++) {
            if(heap[2 * i] != null) { 
                g = g.concat("" + heap[i].elem + "  (" + heap[i].prior + ")   " + "   " + " -> " + "    " + "" + heap[i * 2].elem + "  (" + heap[i * 2].prior + ")       \n" );
                if(heap[2 * i + 1] != null) 
                    g = g.concat("" + heap[i].elem + "  (" + heap[i].prior + ")   " + "   " + " -> " + "    " + "" + heap[i * 2 + 1].elem + "  (" + heap[i * 2 + 1].prior + ")       \n" ); 
            } 
        } //end for
    } //end else  
    g = g.concat("}");
    return g;   
}

为什么不生成图像.png?我哪里错了?当然我安装了Graphviz。谢谢

西蒙

当我在命令行中.dot通过上面文件运行时dot,我得到:

$ dot -Tpng queue.dot -oqueue.png
Warning: queue.dot:2: syntax error in line 2 near '('

因此,节点名称中带括号的数字在dot语法上无效如果删除它们,我希望.png文件将成功创建。如果在输出中需要带括号的数字,建议在GraphViz文档中查找节点标签。

我还要注意,toString()对于创建.png文件的函数来说,它的名称似乎不太明确,因此建议更改该函数的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从PNG图像生成MOV文件?

来自分类Dev

使用R,如何提取.png(或其他格式)图像文件中使用的颜色和字体?

来自分类Dev

我可以使用d3.js显示GraphViz生成的点或xdot布局文件吗?

来自分类Dev

如何安装和使用PNGwriter编写PNG图像文件?

来自分类Dev

如何从乳胶中生成美观的png图像?

来自分类Dev

如何启用libMagick ++以保存.png文件格式

来自分类Dev

如何使用JavaScript生成正确的CSV文件格式

来自分类Dev

Graphviz点仅生成图像的一部分

来自分类Dev

如何获取图像文件的DPI(PNG)

来自分类Dev

如何使用pygraphviz为点连接记录中的graphviz节点?

来自分类Dev

如何使用pygraphviz为点连接记录中的graphviz节点?

来自分类Dev

使用PHP代码生成缩略图时如何保留PNG图像的透明度

来自分类Dev

如何使用java检查文件是否为png图像文件

来自分类Dev

如何从深度图像和RGB图像生成点云?

来自分类Dev

如何将.jpg或.png图像转换为.raw格式?

来自分类Dev

Lookit不会生成所有图像查看应用程序都可以使用的PNG文件

来自分类Dev

如何使用TexturePacker2将图像打包成一个.png文件?

来自分类Dev

如何使用 Gstreamer 从 PNG 图像创建 mp4 视频文件

来自分类Dev

如何使用CSS替换PNG图像的颜色?

来自分类Dev

如何从QPixmap获取图像文件格式?

来自分类Dev

如何自动将文本文件转换为graphviz点文件?

来自分类Dev

使用JSON文件以HTML格式加载图像

来自分类Dev

XYZ格式的点云生成,以便在GLAP中使用

来自分类Dev

GraphViz点文件。象棋订单节点

来自分类Dev

如何缩小由dd生成的文件图像?

来自分类Dev

python如何为GraphViz编写一个点文件,要求将某些边缘变为红色?

来自分类Dev

python如何为GraphViz编写一个点文件,要求将某些边缘变为红色?

来自分类Dev

使用PHP将RGB矩阵格式的图像转换为PNG或其他可显示格式

来自分类Dev

使用PHP将RGB矩阵格式的图像转换为PNG或其他可显示格式

Related 相关文章

  1. 1

    如何从PNG图像生成MOV文件?

  2. 2

    使用R,如何提取.png(或其他格式)图像文件中使用的颜色和字体?

  3. 3

    我可以使用d3.js显示GraphViz生成的点或xdot布局文件吗?

  4. 4

    如何安装和使用PNGwriter编写PNG图像文件?

  5. 5

    如何从乳胶中生成美观的png图像?

  6. 6

    如何启用libMagick ++以保存.png文件格式

  7. 7

    如何使用JavaScript生成正确的CSV文件格式

  8. 8

    Graphviz点仅生成图像的一部分

  9. 9

    如何获取图像文件的DPI(PNG)

  10. 10

    如何使用pygraphviz为点连接记录中的graphviz节点?

  11. 11

    如何使用pygraphviz为点连接记录中的graphviz节点?

  12. 12

    使用PHP代码生成缩略图时如何保留PNG图像的透明度

  13. 13

    如何使用java检查文件是否为png图像文件

  14. 14

    如何从深度图像和RGB图像生成点云?

  15. 15

    如何将.jpg或.png图像转换为.raw格式?

  16. 16

    Lookit不会生成所有图像查看应用程序都可以使用的PNG文件

  17. 17

    如何使用TexturePacker2将图像打包成一个.png文件?

  18. 18

    如何使用 Gstreamer 从 PNG 图像创建 mp4 视频文件

  19. 19

    如何使用CSS替换PNG图像的颜色?

  20. 20

    如何从QPixmap获取图像文件格式?

  21. 21

    如何自动将文本文件转换为graphviz点文件?

  22. 22

    使用JSON文件以HTML格式加载图像

  23. 23

    XYZ格式的点云生成,以便在GLAP中使用

  24. 24

    GraphViz点文件。象棋订单节点

  25. 25

    如何缩小由dd生成的文件图像?

  26. 26

    python如何为GraphViz编写一个点文件,要求将某些边缘变为红色?

  27. 27

    python如何为GraphViz编写一个点文件,要求将某些边缘变为红色?

  28. 28

    使用PHP将RGB矩阵格式的图像转换为PNG或其他可显示格式

  29. 29

    使用PHP将RGB矩阵格式的图像转换为PNG或其他可显示格式

热门标签

归档