Haskell 图 Graphviz Gtk 显示对齐和缩放
Haskell Diagrams Graphviz Gtk Display alignment and scaling
我想在 Gtk window 中显示由 graphviz
(通过 Data.GraphViz
)布局的图形。我的代码不会自动将图表居中或调整图表大小。我已经设置了一个带有示例的 github 回购协议(参见 https://github.com/avras/diagrams-gtk-graphviz-example 处的 src/Main.hs
。我得到以下输出。
如果我尝试显示一个半径为 1 的圆,我会得到以下输出(这是预期的)。此示例的代码位于同一 github 存储库中的 src/Circle.hs
。 Main.hs
和 Circle.hs
仅在呈现的图表中有所不同(afaict)。
如何让图表居中 window 并自动计算正确的宽度?
我不得不尝试 mkWidth
的参数来获得这张照片。同样没有设置 lw 0.005
结果如下。线宽好像很大
编辑 这是 Joachim Breitner 建议的修复后的结果。
这是一个猜测,但我假设圆以原点(0,0)
为中心,图表放在单位正方形中(在(0,0)
和(1,1)
之间) .
我猜如果你删除那行
GRC.translate (w/2) (h/2)
在 Main.hs
中它会起作用。
我想在 Gtk window 中显示由 graphviz
(通过 Data.GraphViz
)布局的图形。我的代码不会自动将图表居中或调整图表大小。我已经设置了一个带有示例的 github 回购协议(参见 https://github.com/avras/diagrams-gtk-graphviz-example 处的 src/Main.hs
。我得到以下输出。
如果我尝试显示一个半径为 1 的圆,我会得到以下输出(这是预期的)。此示例的代码位于同一 github 存储库中的 src/Circle.hs
。 Main.hs
和 Circle.hs
仅在呈现的图表中有所不同(afaict)。
如何让图表居中 window 并自动计算正确的宽度?
我不得不尝试 mkWidth
的参数来获得这张照片。同样没有设置 lw 0.005
结果如下。线宽好像很大
编辑 这是 Joachim Breitner 建议的修复后的结果。
这是一个猜测,但我假设圆以原点(0,0)
为中心,图表放在单位正方形中(在(0,0)
和(1,1)
之间) .
我猜如果你删除那行
GRC.translate (w/2) (h/2)
在 Main.hs
中它会起作用。