我有一个奇怪的计划问题。这是我帮助朋友的更重要的一部分。
我需要将Tree:Data
转换为准确表示树的图像(对不起,我还没有要显示的示例图像)。
如果您对此有任何想法(和/或如果您有任何疑问),请与我们联系。以便我可以更新更多信息。
谢谢
答案 0 :(得分:3)
绘制此类图表的最常用方法之一是使用graphviz。您只需扫描树并以非常简单的语法打印出连接。
答案 1 :(得分:1)
如果你真的,真的,真的必须直接在Scheme中做,那么让我指点你:
http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Drawing-Graphics.html
Scheme确实有一个内置的图形库,虽然这可能只是MIT Scheme的特殊之处。在伯克利,我们的介绍类使用了SICP,我们确实有某种形式的图形,虽然这些图形是否是内置的,或者教师是否为我们添加了它们,但我不太清楚。
答案 2 :(得分:1)
这是我正在寻找的答案。我想我应该更清楚地表达我的问题。非常感谢你的帮助,@ EliBarzilay和@KevinHwang
(define (Tree:Data->Pict dt)
(if (DataTree? dt)
(frame
(vl-append 10
(Tree:Data->Pict (DataTree-data dt))
(apply ht-append 10
(map Tree:Data->Pict (DataTree-children dt)))))
(code #,dt)))