math - 在graphviz中使用符号字体/数学符号

标签 math fonts graphviz dot

[环境:graphviz 2.38/Windows 7]

我想使用dot生成如下路径图,以表示结构方程模型(这里只是一个简单的单因素测量模型)。我想对某些节点和边缘使用希腊字母,并且实际上更愿意在点文件中使用像LaitX这样的符号,例如\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;
}

最佳答案

好的,直接在.dot文件中使用UTF8字符,我现在可以避免使用Symbol字体(但是我尝试使用下标,例如下标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;
    }

结果是:

关于math - 在graphviz中使用符号字体/数学符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30040997/

相关文章:

javascript - 如何在javascript中将数字格式化为字符串

swift - Swift 有内置的对数函数吗?

winapi - AddFontResource() 与 AddFontResourceEx()

html - 移动端和桌面端的不同行高和基线

textmate - TextMate 有 DOT 包吗?

Python:克莱因瓶的 3D 图

Python:最大/最小内置函数取决于参数顺序

html - 为什么 HTML "lang"属性会更改字体连字以及如何避免这种情况?

python-2.7 - 在决策树期间导出 graphviz 给出错误

position - 如何在 graphviz 中强制节点位置(x 和 y)