2009-05-20 125 views
14

這個問題可能有一個令人尷尬的簡單答案,但是在Common Lisp中是否有正確的方式來格式化/繪製樹?我已經嘗試了幾本書以及谷歌搜索,但問題似乎落在搜索條件的裂縫之間。Common Lisp中的繪圖樹

在此先感謝!

回答

26

你想要什麼樣的樹畫?

SDRAW將缺陷單元結構繪製到終端。類似的:Draw Cons Tree

如果您有McCLIM,CLIM或Lisp計算機,則可以調用CLIM函數CLIM:FORMAT-GRAPH-FROM-ROOT或CLIM:FORMAT-GRAPH-FROM-ROOTS。

如果您使用LispWorks,則有一個graph pane

如果你想繪製植物使用這一個:L-Lisp

plant drawing

+1

真棒,SDRAW正是我一直在尋找的:一種乾淨的方式來表示嵌套的缺陷單元格。再次感謝。 – wvoq 2009-05-23 04:27:09

+0

什麼 - 真棒 - 答案。哇。你沒有回答OP,而是整個谷歌搜索者。 – MaiaVictor 2012-06-24 19:32:26

4

如果您沒有找到更好的解決方案,我會傾向於發出.dot文件,然後將其提供給Graphviz工具之一(如dot)。文件格式非常簡單,這些工具可以生成各種格式,包括PNG,SVG,PostScript甚至圖像映射(用於在網頁上創建可點擊的圖形)。

如果您希望將這些圖形用於您自己的使用(例如:調試)或者您正在服務器上生成這些圖形,則此方法可能僅適用於您。在客戶端應用程序中調用單獨的工具可能會有可用性和/或許可問題。

這不是一個真正常見的lisp特定解決方案,但我過去曾使用過幾種語言的這種方法。

+0

嗨,非常感謝您的回覆。我希望直接打印到控制檯,但對於大型樹木,您的建議聽起來更靈活。感謝你的寶貴時間! – wvoq 2009-05-21 02:04:48

1

我已經使用lisp2dot(awk腳本生成點命令)近年來在GP應用,但目前似乎並沒有工作。每當我用有效的Lisp表達式提供它時,它都會返回帶有無意義錯誤信息的奇怪Dot文件。不過,值得一提的是。