JMS*_*JMS 22 graphics graphviz pgf
因此,我一直在研究论文和网上看到以图表符号表示的图形模型(例如:http://www.cs.princeton.edu/~blei/papers/BleiNgJordan2003.pdf).
是否有一种快速简便的方法来生产这些?我进行了搜索和搜索,但我发现的只有GraphViz这样的解决方案,它实际上比我需要的更强大(因此更难以使用).PGF/Tikz似乎是我最好的选择,但再次看起来有点矫枉过正.
也许我最好的选择是在Inkscape中制作它们,或者咬紧牙关学习PGF/Tikz.他们是如此受欢迎,我认为会有一种更简单的方式来推销它们,但也许不是...... TIA.
查看Laura Dietz提供的优秀Tikz包装,可从http://www.mpi-inf.mpg.de/~dietz/probabilistic-models-tikz.zip获取.有关一些示例的pdf可在http://www.mpi-inf.mpg.de/~dietz/probabilistic-models-tikz.pdf上找到.
GraphViz真的不是那么难学.对于这些类型的图表,基本语言非常简单.我花了一些时间来复制(或多或少)来自该pdf的第一个例子,而关于它的好处在于,由于它的简单性,从一些其他数据源程序生成图表非常容易.
Digraph fig1 {
rankdir = LR; //order things from left to right
//define alpha and beta as existing
? [shape=circle];
? [shape=circle];
//not strictly nescessary but helps if you want to
//assign them specific shapes or colours
subgraph cluster_M //names beginning with "cluster" get a box drawn, an odd hack
{
label = "M"
? [shape=circle];
subgraph cluster_N
{
label = "N"
z [shape=circle];
w [shape=circle, style=filled]
z->w; //quite literally z points at w
}
? -> z;
}
? -> ?;
? -> w;
}
Run Code Online (Sandbox Code Playgroud)
使用dot -Tpng input.txt -o graph.png编译它看起来像这样.如果在气泡下面有标签很重要,你可以用几条额外的线来做到这一点,类似地,如果节点的特定位置很重要,你也可以调整它.实际上,如果您没有指定图像格式,则dot的默认行为是输出一个输入文件的版本,其坐标是每个元素的位置.

| 归档时间: |
|
| 查看次数: |
6730 次 |
| 最近记录: |