<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Graphviz on pemako</title>
    <link>http://pemako.cn/tags/graphviz/</link>
    <description>Recent content in Graphviz on pemako</description>
    <image>
      <title>pemako</title>
      <url>http://pemako.cn/images/papermod-cover.png</url>
      <link>http://pemako.cn/images/papermod-cover.png</link>
    </image>
    <generator>Hugo -- 0.146.6</generator>
    <language>en</language>
    <lastBuildDate>Thu, 09 Apr 2026 20:00:00 +0800</lastBuildDate>
    <atom:link href="http://pemako.cn/tags/graphviz/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Graphviz</title>
      <link>http://pemako.cn/tools/graphviz/</link>
      <pubDate>Thu, 09 Apr 2026 20:00:00 +0800</pubDate>
      <guid>http://pemako.cn/tools/graphviz/</guid>
      <description>&lt;h1 id=&#34;关于graphviz&#34;&gt;关于Graphviz&lt;/h1&gt;
&lt;h2 id=&#34;11-简介&#34;&gt;1.1 简介&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Graphviz （英文：Graph Visualization Software的缩写）是一个由&lt;code&gt;AT&amp;amp;T实验室&lt;/code&gt;启动的开源工具包，可以用于绘制&lt;code&gt;DOT语言&lt;/code&gt;脚本描述的图形。它也提供了供其它软件使用的库。Graphviz是一个&lt;code&gt;自由软件&lt;/code&gt;，其授权为&lt;code&gt;Eclipse Public License&lt;/code&gt;。其Mac版本曾经获得2004年的&lt;code&gt;苹果设计奖&lt;/code&gt;[2]。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Graphviz由一种被称为DOT语言的图形描述语言[3] 与一组可以生成和/或处理DOT文件的工具组成：&lt;/p&gt;&lt;/blockquote&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;命令&lt;/th&gt;
          &lt;th&gt;说明&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;dot&lt;/td&gt;
          &lt;td&gt;一个用来将生成的图形转换成多种输出格式的命令行工具。其输出格式包括PostScript，PDF，SVG，PNG，含注解的文本等等。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;neato&lt;/td&gt;
          &lt;td&gt;用于sprint model的生成（在Mac OS版本中称为energy minimized）。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;twopi&lt;/td&gt;
          &lt;td&gt;用于放射状图形的生成&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;circo&lt;/td&gt;
          &lt;td&gt;用于圆形图形的生成。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;fdp&lt;/td&gt;
          &lt;td&gt;另一个用于生成无向图的工具。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;dotty&lt;/td&gt;
          &lt;td&gt;一个用于可视化与修改图形的图形用户界面程序。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;lefty&lt;/td&gt;
          &lt;td&gt;一个可编程的(使用一种被EZ影响的语言[4])控件，它可以显示DOT图形，并允许用户用鼠标在图上执行操作。Lefty可以作为MVC模型的使用图形的GUI程序中的视图部分。&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;官网：&lt;code&gt;http://www.graphviz.org/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;官方文档：&lt;code&gt;http://www.graphviz.org/Documentation.php&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;下载地址：&lt;code&gt;http://www.graphviz.org/Download.php&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;12-dot语言&#34;&gt;1.2 DOT语言&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;DOT语言是一种文本图形描述语言它提供了一种简单的描述图形的方法，并且可以为人类和计算机程序所理解。DOT语言文件通常是具有&lt;code&gt;.gv&lt;/code&gt;或是&lt;code&gt;.dot&lt;/code&gt;的文件扩展名。很多程序都可以处理DOT文件。&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;13-安装&#34;&gt;1.3 安装&lt;/h2&gt;
&lt;p&gt;Mac下直接通过&lt;code&gt;brew install graphviz&lt;/code&gt;了，也可以直接从官网下载; 注意最新的brew仓库中不再支持 mac10.13版本，这里需要进行编译安装。参考 &lt;a href=&#34;https://graphviz.org/download/&#34;&gt;https://graphviz.org/download/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;14-简单示例&#34;&gt;1.4 简单示例&lt;/h2&gt;
&lt;p&gt;Graphviz画图只需要两步。第一步创建文本文件并命令为x.dot，输入以下内容：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;graph demo {
  &amp;#34;Browser&amp;#34; -- {&amp;#34;Chrome&amp;#34;, &amp;#34;Fiefox&amp;#34;, &amp;#34;Safari&amp;#34;, &amp;#34;...&amp;#34;}
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;第二步，使用命令将文本内容转换为图片。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dot demo.dot -T png -o demo.png
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;-T&lt;/code&gt;表示输出类型，可以指定jpg、gif、svg等等，&lt;code&gt;-o&lt;/code&gt;指定输出文件名，不指定则输出到标准输出上。执行上面命令后不出意外则可以看到如下效果。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://raw.githubusercontent.com/pemako/assets/main/2022/202212071753958.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;上面是用&lt;code&gt;dot&lt;/code&gt;命令来生成，也可以用 Graphviz 中包含的其它命令来处理 dot 文本，比如用下面命令渲染出来的图片排列方式则不一样。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
