是否有一个编程创建图表的好工具?

时间:2010-03-26 14:12:34

标签: diagram

我想要一种用编程语言创建图表的工具,可能就像lua。

是否有专门为此设计的工具?

2 个答案:

答案 0 :(得分:3)

是的,您可以为Graphviz生成.dot个文件。由于这些是文本文件,您可以使用任何语言进行操作。我刚才写了a post关于使用Graphviz从C代码自动生成二进制树图。

答案 1 :(得分: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