Haskell图Graphviz Gtk显示对齐方式和缩放比例

时间:2018-06-22 07:16:29

标签: haskell graphviz haskell-diagrams

我想在Gtk窗口中显示graphviz(通过Data.GraphViz布局的图形。我拥有的代码不会自动将图形居中或调整图表大小。我已经建立了一个带示例的github存储库(请参见https://github.com/avras/diagrams-gtk-graphviz-example上的src/Main.hs。我得到以下输出。

enter image description here

如果尝试显示半径为1的圆,则会得到以下输出(这是预期的)。此示例的代码在同一github存储库中的src/Circle.hs中。 Main.hsCircle.hs的区别仅在于呈现的图(正确)。

enter image description here

如何在自动计算正确宽度的情况下使图形在窗口中居中?

我不得不尝试使用mkWidth的参数来获得这张图片。同样,没有设置lw 0.005的结果如下。线宽似乎很大。

enter image description here

编辑:这是Joachim Breitner建议的修复后的结果。 enter image description here

1 个答案:

答案 0 :(得分:1)

这是一个猜测,但是我假设圆以原点(0,0)为中心,并且该图放置在单位正方形内((0,0)(1,1)之间)。 / p>

我想如果您删除该行

GRC.translate (w/2) (h/2)

Main.hs中有效。