2010-03-26 20 views
5

我想用一種編程語言創建圖表的工具,或許就像lua。以編程方式創建圖表是否有很好的工具?

有沒有爲此設計的工具?

+0

我覺得你可以做一些漂亮的圖表在乳膠 http://tex.stackexchange.com/questions/149602/drawing-flow-diagram-in-latex-using-tikz – lovelyVector 2014-02-10 19:51:01

+0

對於簡單的圖表,您可以使用乳膠。 http://tex.stackexchange.com/questions/149602/drawing-flow-diagram-in-latex-using-tikz – lovelyVector 2014-02-10 19:52:29

回答

3

是的,您可以爲Graphviz生成.dot文件。由於這些是文本文件,因此您可以使用任何語言。前一段我寫了a post關於使用Graphviz從C代碼自動生成二叉樹圖。

+0

是的,但.dot文件不會讓你移動元素的位置。對? 我正在尋找更多控制盒子,箭頭等的位置。 – FelipeC 2010-04-15 06:28:52

+0

@felipec:那麼,考慮一下那些SVG生成庫 – 2010-04-15 15:23:29

1

有點復古,也許,但總是有Pic。它輸出到.eps可以很容易地convert編輯任何你想要的。

輸入是一個有點老派,但由於它是全文本,它可以被任何具有文本輸出的語言(甚至Lua)作爲目標。下面是一個數據結構圖的例子。

.PS 
boxwid = .5; boxht = .25 
down 
Base: box "base" 
Used: box "used" 
Max: box "max" 

move to Base.e 
move right 

right 
Mfile: box dashed wid 3 ht 5 
move to Mfile.nw; move down .125 

Mtab: right; box "nexttab"; box "nextent" 
move to Mtab.sw; move down .25 

Tab: right; box "adr0"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr1"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr2"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr3"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr4"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr5"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr6"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr7"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box "adr8"; box "mark"; box "sz" 
move to Tab.sw; move down .25 
Tab: right; box invis "..."; box invis "..."; box invis "..." 
move to Tab.sw; move down .25 
Tab: right; box "adrN"; box "mark"; box "sz" 

arrow from Base.e to Mfile.nw 
arrow from Used.e to Tab.sw down .125 
arrow from Max.e to Mfile.sw 

.PE 

Indexed-Memory Data Structure