[环境:graphviz 2.38 / Windows 7]
使用dot
,我想生成如下的路径图来表示结构方程模型(嗯,这里,只是一个简单的单因素测量模型)。我想对一些节点和边缘使用希腊字母,如果我可以在点文件中使用类似LaTeX的表示法,例如\ksi
,\lambda_1
或\delta_1
该图应该代表三个方程式
\begin{eqnarray*}
x_{1i} & = & \lambda_1 \xi_{i} + \delta_{1i} \\
x_{2i} & = & \lambda_2 \xi_{i} + \delta_{2i} \\
x_{3i} & = & \lambda_3 \xi_{i} + \delta_{3i}
\end{eqnarray*}
我最接近的是以下.dot文件kludge,我在哪里 选择font =“Symbol”并用他们的罗马等价物替换希腊字母。
但是,这不适用于dot -Tpdf
或AFAICS其他任何其他设备
比Postscript dot -Tps
,给我一个.eps
文件,我必须转换为PDF或PNG。
问题:这种情况有什么好处吗?
digraph threevar {
rankdir=LR;
size="8,4";
node [fontname="Helvetica" fontsize=14 shape=box];
edge [fontname="Symbol" fontsize=10];
center=1;
{rank=min k }
{rank=same X1 X2 X3 }
{rank=max z1 z2 z3 }
z1 [shape=circle fontname="Symbol" label="d1"];
z2 [shape=circle fontname="Symbol" label="d2"];
z3 [shape=circle fontname="Symbol" label="d3"];
k [fontname="Symbol" label="x" shape="ellipse"];
k -> X1 [label="l1"];
k -> X2 [label="l2"];
k -> X3 [label="l3"];
z1 -> X1;
z2 -> X2;
z3 -> X3;
}
答案 0 :(得分:3)
好的,直接在.dot文件中使用UTF8字符,我现在可以避免使用符号字体kludge(但我尝试用于下标,例如下标-1, x2081只有一个包含'2081'的小方框
以下是修订后的文件,现在适用于-Tpdf
和-Tpng
。 (此帖子中的UTF8字符无法正确显示。)
digraph threevar {
rankdir=LR;
size="8,4";
node [fontsize=14 shape=box];
edge [fontsize=10];
center=1;
{rank=min k }
{rank=same X1 X2 X3 }
{rank=max z1 z2 z3 }
z1 [shape=circle label="d1"];
z2 [shape=circle label="d2"];
z3 [shape=circle label="d3"];
k [label="?" shape="ellipse"];
k -> X1 [label="?1"];
k -> X2 [label="?2"];
k -> X3 [label="?3"];
z1 -> X1;
z2 -> X2;
z3 -> X3;
}
结果是: