有没有一个好的工具可以通过编程自动创建图表?

8

我希望能有一个类似于lua这样的编程语言来创建图表的工具。

是否有专门用于此目的的工具?


我认为你可以使用latex制作一些漂亮的图表。 http://tex.stackexchange.com/questions/149602/drawing-flow-diagram-in-latex-using-tikz - lovelyVector
对于简单的图表,你可以使用LaTeX。http://tex.stackexchange.com/questions/149602/drawing-flow-diagram-in-latex-using-tikz - lovelyVector
2个回答

3

是的,您可以为Graphviz生成.dot文件。由于这些是文本文件,因此您可以使用任何语言来完成。我曾经写过一篇文章,介绍如何使用Graphviz从C代码自动生成二叉树图表。


是的,但是.dot文件不允许您移动元素的位置。对吧?我正在寻找更多控制框、箭头等位置的方法。 - FelipeC
@felipec:那么,考虑使用其中一个SVG生成库。 - Eli Bendersky

1
可能有点老派,但总有Pic。它输出到.eps,可以轻松转换成任何你想要的格式。
输入有点老式,但由于它是全文本,所以可以被任何具有文本输出功能的语言(甚至是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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接