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

2024-02-22

[环境:graphviz 2.38 / Windows 7]

Using dot,我想生成如下所示的路径图来表示结构方程模型(好吧,这里只是一个简单的单因素测量模型)。我想对某些节点和边使用希腊字母,并且实际上更喜欢如果我可以在点文件中使用类似 LaTeX 的表示法,例如\ksi, \lambda_1 or \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 文件拼凑,我在其中 选择 font="Symbol" 并将希腊字母替换为对应的罗马字母。

但是,这不适用于dot -Tpdf或 AFAICS 任何其他设备 比后记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 字符,我现在可以避免符号字体拼凑(但我尝试了下标,例如 subscript-one, x2081 只是有一个包含“2081”的小盒子)

这是修改后的文件,现在适用于两者-Tpdf and -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;
    }

结果是:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 graphviz 中使用符号字体/数学符号 的相关文章

  • 在 3d 空间中的两个平面之间进行插值

    我正在开发一种工具 可以让您在 3D 体积 上圈出 包围事物 我想通过标记 切片 1 和 3 并从该信息 填充 切片 2 来节省时间 两个简单的解决方案是 1 slice2 slice1 AND slice3 gets the overla
  • 如何将时间间隔划分为不同长度的部分?

    我有一个从 0 到t 我想把这个区间分成一个以2 25 2 25 1 5为周期的累积序列 方法如下 input start 0 stop 19 output sequence 0 2 25 4 5 6 8 25 10 5 12 14 25
  • 为什么 Convert.ToInt32(1.0/0.00004) != (Int32)(1.0/0.00004)

    为什么这段代码http ideone com YRcICG http ideone com YRcICG void Main double a 0 00004 Int32 castToInt Int32 1 0 a Int32 conver
  • 如何在Python中获得更精确的十进制值[重复]

    这个问题在这里已经有答案了 from math import sqrt a 1e 8 b 10 c 1e 8 x1 b sqrt b 2 4 a c 2 a x2 b sqrt b 2 4 a c 2 a print x1 format x
  • 带有 graphviz_layout 的水平树

    在Python中 使用networkx 我可以用以下方法绘制垂直树 g nx balanced tree 2 4 pos nx graphviz layout g prog dot nx draw g pos labels b all no
  • 如何在编程中表示sqrt(-1)?

    我想代表sqrt 1 在C 中 因为我正在尝试实现FFT算法 有没有好的方法来表示这一点 我猜你正在寻找 include
  • Python 中的 C 指针算术

    我正在尝试将一个简单的 C 程序转换为 Python 但由于我对 C 和 Python 都一无所知 这对我来说很困难 我被 C 指针困住了 有一个函数采用 unsigned long int 指针并将其值添加到 while 循环中的某些变量
  • Android并计算给定字体和字体大小的单行字符串的大小?

    是否有一种 API 方法可以计算以给定字体和字体大小显示在一行上的字符串的大小 即宽度和高度 Paint p new Paint p setTypeface TypeFace obj if custom font use TypeFace
  • 使用矩阵代数来操作字符串:可行吗?

    我正在尝试使用矩阵代数来操作字符串 这意味着能够使用字符串或字符串数 组的串联和粘贴来实现多个类似矩阵的结构 我之前尝试在 R 上实现这个东西 但这是不可能的 因为矩阵只能有一维条目 我希望足够的与语言无关和抽象 但为了清楚起见 我将使用类
  • 计算 Adamic-Adar 的快速算法

    我正在研究图形分析 我想计算一个 N N 相似度矩阵 其中包含每两个顶点之间的 Adamic Adar 相似度 为了概述 Adamic Adar 让我从以下介绍开始 给定邻接矩阵A无向图的G CN是两个顶点的所有公共邻居的集合x y 两个顶
  • 在 JButton 上显示 Unicode 字符

    我正在尝试显示这个 Unicode uD83D on a JButton文本 但当我编译时 它只显示未知字符的平方 托马斯给出了一个很好的答案 但请注意 为了避免猜测哪些已安装的字体支持字符或字符串 我们可以迭代可用的字体并使用canDis
  • IntelliJ IDEA 禁用 CMD+滚动上的字体增大/减小

    我在 Mac OS X 上使用 IntelliJ IDEA 9 0 2 搭配 Magic Mouse 每当我按下命令按钮并将手指在鼠标表面移动一两微米时 IDEA 就会立即快速增大或减小字体大小 如何禁用此功能 Settings Edito
  • 多个点之间的最短路线

    我需要找到多个点之间的最短路线 假设我有以下四点 var startPoint new Point 1 1 var pointsToGoPast new List
  • 正则表达式匹配不可约分数

    我怎样才能匹配不可约分数 http en wikipedia org wiki Irreducible fraction用正则表达式 例如 23 25 3 4 5 2 100 101 等 首先 我不知道正则表达式中的gcd算法实现 Upda
  • 如何在 HTML 元素中使用 CSS 设置特定单词的样式?

    如何设置其中特定单词的样式 p 标签 前任 STUDIO X是有史以来最好的工作室 如何使用 css 将 STUDIO X 设为与 is the best studio ever 不同的字体 你应该做这个 p font size 12px
  • iOS 中的自定义阿拉伯字体

    我正在尝试制作一个主要显示阿拉伯语内容的 iPhone 应用程序 我想使用自定义阿拉伯字体来显示该内容 而不是 iPhone 默认的阿拉伯字体 我使用了以下代码 void viewDidLoad super viewDidLoad arab
  • 使用 graphviz 绘制自定义 BGL 图表

    我是 Boost 图形库的新手 我尝试使用 graphviz 绘制图形 include
  • 计算二维笛卡尔坐标中不规则形状的边界

    我正在寻找一种计算不规则形状边界的解决方案 Lats take a look at Square example 如果我有Minimum x and y and Maximum x and y like MaxX 5 MinX 1 MaxY
  • 自定义字体显示在 IB 中,但不显示在模拟器中

    我已经设置了一个UITextView and a UILabel使用自定义字体 它是垂直镜像的蒙古文字体 但我还添加了英文文本 以便您可以看到效果 这些文字显示在 Interface Builder 中 但在模拟器中大部分字符都在UITex
  • 如何强制 JavaFX 字体抗锯齿?

    在测试 JavaFX 8 应用程序的 GUI 时 我注意到某些标签不显示抗锯齿文本 经过一番谷歌搜索和挣扎后 我发现正在发生一件非常烦人的事情 抗锯齿仅应用于字体大小大于 80 像素的标签 下面是一个比较应用了 AA 的 JavaFX 和

随机推荐