54

I tried

$ dot -Tpng rel_graph.gv > rel_graph.png

but the resulting image has a very low quality.

RobV
  • 26,016
  • 10
  • 71
  • 114
Alexandru
  • 22,519
  • 17
  • 61
  • 78

3 Answers3

93

Use the dpi attribute.

Example:

graph G { 
  graph [ dpi = 300 ]; 
  /* The rest of your graph here. */ 
}
MarcP
  • 939
  • 6
  • 3
45

dot -Tpng -Gdpi=300 foo.gv > foo110percent.png

Use option -Gdpi.

You can find more information here.

DarenW
  • 15,697
  • 7
  • 59
  • 96
x2yline
  • 809
  • 7
  • 5
  • `dot -Tpng -Gdpi=300 foo.gv -o foo110percent.png` Note: You can change the output format by varying the extension of the filename specified with `-o` see: http://www.graphviz.org/doc/info/output.html – Michael James Kali Galarnyk Sep 29 '18 at 19:34
12

I find GraphViz draws nice Graphs but the resolution tends to be reasonably low, you could try outputting to SVG and then using some other image package to scale the image appropriately and then save to a pixel based format like PNG. This might give you better resolution but I've never tried it personally, I tend to mainly just create SVG files I can then view with a browser.

Just change the -T parameter to -Tsvg

dot -Tsvg rel_graph.gv > rel_graph.svg

There is some stuff in the Dot Guide http://www.graphviz.org/pdf/dotguide.pdf about scaling of Graphs but it's not very clear about how that affects resolution, you could also experiment with those settings and see if that improves things.

RobV
  • 26,016
  • 10
  • 71
  • 114
  • 1
    Saving the SVG data to a `*.png` file seems like a *bad* idea to me… – MvG Jul 07 '15 at 20:59
  • @MvG Dumb typo on my part, think I copy pasted this from the OP question and didn't do a full `png` to `svg` change – RobV Jul 08 '15 at 09:42