【问题标题】:Haskell Diagrams Graphviz Gtk Display alignment and scalingHaskell Diagrams Graphviz Gtk 显示对齐和缩放
【发布时间】:2018-06-22 07:16:29
【问题描述】:

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

如果我尝试显示一个半径为 1 的圆,我会得到以下输出(这是预期的)。此示例的代码位于同一 github 存储库中的 src/Circle.hs。 Main.hs 和 Circle.hs 仅在呈现的图表上有所不同(afaict)。

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

我不得不摆弄mkWidth 的参数来获得这张照片。同样没有设置lw 0.005,结果如下。线宽好像很大。

编辑 这是 Joachim Breitner 建议的修复后的结果。

【问题讨论】:

    标签: haskell graphviz haskell-diagrams


    【解决方案1】:

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

    我猜如果你删除这条线

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

    在Main.hs 中它会起作用。

    【讨论】:

    • 成功了!谢谢。我已将更改推送到 github 存储库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 2016-12-27
    • 1970-01-01
    • 2017-11-21
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多