source: general/genutils/graphviz.xml@ 24a18e1

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since 24a18e1 was ac5428a, checked in by Xi Ruoyao <xry111@…>, 4 months ago

graphviz: Remove duplicated decl of "aghtmlstr" causing some vala tests fail

  • Property mode set to 100644
File size: 33.2 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[6722219]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[141ee0a5]7 <!ENTITY graphviz-download-http "https://gitlab.com/graphviz/graphviz/-/archive/&graphviz-version;/graphviz-&graphviz-version;.tar.bz2">
[ac4b41a]8 <!ENTITY graphviz-download-ftp " ">
[1d4ab65]9 <!ENTITY graphviz-md5sum "cbc948bb249ff4a26cd3f0ef35938a98">
[4455b24]10 <!ENTITY graphviz-size "26 MB">
[1d4ab65]11 <!ENTITY graphviz-buildsize "203 MB">
12 <!ENTITY graphviz-time "0.6 SBU (using parallelism=4)">
[6722219]13]>
14
15<sect1 id="graphviz" xreflabel="Graphviz-&graphviz-version;">
16 <?dbhtml filename="graphviz.html"?>
17
18
19 <title>Graphviz-&graphviz-version;</title>
20
21 <indexterm zone="graphviz">
22 <primary sortas="a-Graphviz">Graphviz</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Graphviz</title>
27
[ac4b41a]28 <para>
29 The <application>Graphviz</application> package contains graph
30 visualization software. Graph visualization is a way of representing
31 structural information as diagrams of abstract graphs and networks.
32 <application>Graphviz</application> has several main graph layout
33 programs. It also has web and interactive graphical interfaces, auxiliary
34 tools, libraries, and language bindings.
35 </para>
36
[1241ea19]37 &lfs121_checked;
[6722219]38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
[ac4b41a]42 <para>
43 Download (HTTP): <ulink url="&graphviz-download-http;"/>
44 </para>
[6722219]45 </listitem>
46 <listitem>
[ac4b41a]47 <para>
48 Download (FTP): <ulink url="&graphviz-download-ftp;"/>
49 </para>
[6722219]50 </listitem>
51 <listitem>
[ac4b41a]52 <para>
53 Download MD5 sum: &graphviz-md5sum;
54 </para>
[6722219]55 </listitem>
56 <listitem>
[ac4b41a]57 <para>
58 Download size: &graphviz-size;
59 </para>
[6722219]60 </listitem>
61 <listitem>
[ac4b41a]62 <para>
63 Estimated disk space required: &graphviz-buildsize;
64 </para>
[6722219]65 </listitem>
66 <listitem>
[ac4b41a]67 <para>
68 Estimated build time: &graphviz-time;
69 </para>
[6722219]70 </listitem>
71 </itemizedlist>
[a01c60a]72
[6722219]73 <bridgehead renderas="sect3">Graphviz Dependencies</bridgehead>
74
[31ef4b60]75 <note>
76 <para>
77 <application>Graphviz</application> basic usage does not need any
78 libraries out of what is found in the LFS book. Its <quote>core</quote>
79 rendering engine allows to generate several graphic formats, such as
80 Postscript, SVG, VML, .fig, and Tk. Those formats can be converted
[8558044]81 to almost any other format using for example tools from
[7999839]82 <xref role="nodep" linkend="imagemagick"/>. The dependencies below add
83 the ability to generate graph images in bitmap format, to display the
84 graph image on screen, to edit a graph by viewing the resulting image
[8558044]85 directly, or to view large graphs. Since
[7999839]86 <application>Graphviz</application> is a dependency
[31ef4b60]87 of several other packages in this book, it is suggested to first build
[fb17faa]88 it without any dependencies, then to rebuild it when you have built
[31ef4b60]89 enough packages to suit your needs.
90 </para>
91 </note>
92
93 <bridgehead renderas="sect4">Optional, for various bitmap outputs</bridgehead>
[ac4b41a]94 <para role="optional">
[31ef4b60]95 <xref linkend="pango"/>, with
96 <xref linkend="cairo"/>,
[fb17faa]97 <xref linkend="xorg7-lib"/>,
98 <xref linkend="fontconfig"/>, and
99 <xref linkend="libpng"/>, to generate images in bitmap SVG, postscript,
100 PNG, and PDF formats, or displaying the image on screen. The PNG
101 output is required for building <xref role="nodep" linkend="gegl"/>
[31ef4b60]102 </para>
103
104 <para role="optional">
105 Adding
106 <xref linkend="gtk2"/> with
[4bd4b77]107 <xref linkend="libjpeg"/> adds support for JPEG, BMP, TIF, and ICO
108 formats, and allows displaying the image in a GTK+ window
[31ef4b60]109 </para>
110
111 <para role="optional">
[b3d0dbd]112 <ulink url="https://www.libgd.org/">GD Library</ulink> may be used
[31ef4b60]113 instead of <application>Pango</application>. It adds the ability to
114 generate images in GIF, VRML, and GD formats, but
115 <application>Pango</application> provides better outputs for the other
116 formats, and is needed for displaying images
117 </para>
[8558044]118
[31ef4b60]119 <para role="optional">
120 Other formats may be added with
121 <xref linkend="libwebp"/> (WebP support is considered experimental),
[17aa21c]122 <ulink url="https://openil.sourceforge.net/projects.php">DevIL</ulink>,
[fb17faa]123 <ulink url="https://sourceforge.net/projects/lasi/">libLASi</ulink>, and
[b3d0dbd]124 <ulink url="https://www.freedesktop.org/wiki/Software/glitz">glitz</ulink>
[31ef4b60]125 </para>
126
127 <bridgehead renderas="sect4">Optional, to load graphic images that may be
128 displayed inside the nodes of a graph</bridgehead>
129
130 <para role="optional">
131 <filename class="libraryfile">libgs.so</filename> from
132 <xref linkend="gs"/>,
133 <xref linkend="librsvg"/>, and
134 <xref linkend="poppler"/>
135 </para>
136
137 <bridgehead renderas="sect4">Optional, to build more tools</bridgehead>
138
139 <para role="optional">
[c95e0acc]140 <xref linkend="freeglut"/> (with
141 <ulink url="https://sourceforge.net/projects/gtkglext/">GtkGLExt</ulink> and
142 <ulink url="https://gts.sourceforge.net/">libGTS</ulink> for building
[31ef4b60]143 the <command>smyrna</command> large graph viewer, which is
[4bd4b77]144 considered experimental), and
[b3867c5]145 &qt5-deps; (for building the <command>gvedit</command>
[4bd4b77]146 graph editor.)
[ac4b41a]147 </para>
148
149 <bridgehead renderas="sect4">Optional (To Build Language Bindings)</bridgehead>
150 <para role="optional">
[7dfb8c9]151 <xref linkend="swig"/> (<application>SWIG</application> must be
152 installed or no bindings will be built),
[4bd4b77]153 <xref linkend="gcc"/> (for the go compiler),
[ac4b41a]154 <xref linkend="guile"/>,
[49b50d4]155 <xref linkend="openjdk"/>,
[32d4980]156 <xref linkend="lua"/>,
[ac4b41a]157 <xref linkend="php"/>,
158 <xref linkend="ruby"/>,
[69b2349]159 <xref linkend="tk"/>,
[b3d0dbd]160 <ulink url="https://iolanguage.org/">Io</ulink>,
161 <ulink url="https://www.mono-project.com/Main_Page">Mono</ulink>,
162 <ulink url="https://ocaml.org/">OCaml</ulink>, and
163 <ulink url="https://www.r-project.org/">R</ulink>
[ac4b41a]164 </para>
[6722219]165
[31ef4b60]166 <bridgehead renderas="sect4">Optional (building tools)</bridgehead>
167 <para role="optional">
168 <ulink url="https://github.com/Snaipe/Criterion">Criterion</ulink>
[511f7c8f]169 (framework for tests) and
[b3d0dbd]170 <ulink url="https://linux.softpedia.com/get/Programming/Debuggers/Electric-Fence-3305.shtml/">Electric Fence</ulink>
[31ef4b60]171 </para>
172
[5f736cf]173 <bridgehead renderas="sect4">Optional (for building the pdf documentation)</bridgehead>
174 <para role="optional">
175 <xref linkend="gs"/> (for the <command>ps2pdf</command> command)
176 </para>
177
[6722219]178 </sect2>
179
180 <sect2 role="installation">
181 <title>Installation of Graphviz</title>
182
[ac5428a]183 <!-- https://gitlab.com/graphviz/graphviz/-/merge_requests/3739 -->
184 <para>
185 Remove a duplicated declaration causing some <xref linkend='vala'/>
186 tests to fail:
187 </para>
188
189 <screen><userinput>awk -i inplace '/aghtmlstr/ &amp;&amp; ++f == 2 {getline} 1' \
190 lib/cgraph/cgraph.h</userinput></screen>
191
[ac4b41a]192 <para>
193 Install <application>Graphviz</application> by running the following
194 commands:
195 </para>
[6722219]196
[6bd7ca9]197<screen><userinput>sed -i '/LIBPOSTFIX="64"/s/64//' configure.ac &amp;&amp;
[87ff6f30]198
[9d90199]199./autogen.sh &amp;&amp;
200./configure --prefix=/usr \
[47b0660]201 --docdir=/usr/share/doc/graphviz-&graphviz-version;</userinput></screen>
[6722219]202
[951fd4eb]203 <note>
204 <para>
205 A warning is generated by <command>autogen.sh</command> because the
[4bd4b77]206 build tree is not a git repository. As a result, the build date is set
207 to 0. To get a meaningful date in the version string, you can run:
[951fd4eb]208 </para>
209
210<screen><userinput>sed -i "s/0/$(date +%Y%m%d)/" builddate.h</userinput></screen>
211 </note>
212
[47b0660]213 <para>
[739b724]214 Whether or not you fix the date, proceed to compile the package:
[47b0660]215 </para>
216
217<screen><userinput>make</userinput></screen>
218
[ac4b41a]219 <para>
[75457cc]220 This package does not come with a test suite that provides
221 meaningful results.
[ac4b41a]222 </para>
[6722219]223
[ac4b41a]224 <para>
225 Now, as the <systemitem class="username">root</systemitem> user:
226 </para>
[6722219]227
228<screen role="root"><userinput>make install</userinput></screen>
229
230 </sect2>
231
[75457cc]232 <sect2 role="commands">
233 <title>Command Explanations</title>
234
[87ff6f30]235 <para>
[8558044]236 <command>sed ... configure.ac</command>: This command is needed to
[87ff6f30]237 avoid installing files in /usr/lib64.
238 </para>
[6022da1]239 <para>
[9d66e9a2]240 <option>--with-javaincludedir="$JAVA_HOME/include
241 -I$JAVA_HOME/include/linux"</option>:
242 If you have built <xref linkend="openjdk"/> in /opt, and you want to
243 build the JAVA bindings, it is necessary to specify the location of the
244 JAVA header files to configure. The configure switch is designed for
245 only one directory, but two directories need to be included.
246 This is possible nevertheless by using the -I switch inside the variable.
[6022da1]247 </para>
248
[31ef4b60]249 <para>
250 <option>--with-webp</option>: Even if <xref linkend="libwebp"/> is
251 installed, it is not included in the build without this option.
252 </para>
253
254 <para>
[8558044]255 <option>--with-smyrna</option>: Even if the needed dependencies are
[31ef4b60]256 installed, the interactive graph viewer <command>smyrna</command> is not
257 built without this option.
258 </para>
259
[75457cc]260 </sect2>
261
[6722219]262 <sect2 role="configuration">
263 <title>Configuring Graphviz</title>
264
265 <sect3 id="graphviz-config">
266 <title>Config Files</title>
[5b38e37]267
268 <para>
269 <filename>/usr/lib/graphviz/config</filename>
270 </para>
[6722219]271
272 <indexterm zone="graphviz graphviz-config">
273 <primary sortas="e-usr-share-graphviz-config">/usr/share/graphviz/config</primary>
274 </indexterm>
275
276 </sect3>
277
[ac4b41a]278 <sect3>
279 <title>Configuration Information</title>
280
281 <para>
282 There are no specific configuration requirements for
283 <application>Graphviz</application>. You may consider installing the
284 additional plugins and tools available from the download page at
[511f7c8f]285 <ulink url="https://graphviz.org/download/source/"/> for additional
[ac4b41a]286 capabilities. If additional plugins are installed, you can run
287 <command>dot -c</command> (as the
288 <systemitem class="username">root</systemitem> user) to update the
289 <filename>config</filename> file in
[82fac2c]290 <filename class="directory">/usr/lib/graphviz</filename>.
[ac4b41a]291 </para>
[6722219]292
293 </sect3>
294
295 </sect2>
296
297 <sect2 role="content">
298 <title>Contents</title>
299
300 <segmentedlist>
301 <segtitle>Installed Programs</segtitle>
302 <segtitle>Installed Libraries</segtitle>
303 <segtitle>Installed Directories</segtitle>
304
305 <seglistitem>
[ac4b41a]306 <seg>
[e459d5d9]307 acyclic, bcomps, ccomps, circo, cluster, dijkstra,
[9d90199]308 dot, dot2gxl, dot_builtins, edgepaint, fdp, gc, gml2gv,
[08bd91b]309 graphml2gv, gv2gml, gv2gxl, gvcolor, gvedit, gvgen, gvmap, gvmap.sh,
[9d90199]310 gvpack, gvpr, gxl2dot, gxl2gv, mm2gv, neato, nop,
[08bd91b]311 osage, patchwork, prune, sccmap, sfdp, tred, twopi,
312 unflatten, and vimdot
[ac4b41a]313 </seg>
314 <seg>
[8558044]315 libcdt.so, libcgraph.so, libgvc.so, libgvpr.so, liblab_gamut.so,
[c744d0a5]316 libpathplan.so, libxdot.so, and several plugins in /usr/lib/graphviz.
[08bd91b]317 There are also several in subdirectories of
[7985c336]318 /usr/lib/{lua,perl5,php,python&python3-majorver;,tcl8.6}.
[08bd91b]319 Unfortunately, some libraries are duplicated.
[ac4b41a]320 </seg>
321 <seg>
322 /usr/include/graphviz,
[08bd91b]323 /usr/lib/graphviz,
[41d241e]324 /usr/lib/tcl8.6/graphviz,
[08bd91b]325 /usr/share/doc/graphviz-&graphviz-version;, and
[82fac2c]326 /usr/share/graphviz
327 </seg>
[6722219]328 </seglistitem>
329 </segmentedlist>
330
331 <variablelist>
332 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
333 <?dbfo list-presentation="list"?>
334 <?dbhtml list-presentation="table"?>
335
336 <varlistentry id="acyclic">
337 <term><command>acyclic</command></term>
338 <listitem>
[ac4b41a]339 <para>
340 is a filter that takes a directed graph as input and outputs a
[0d7900a]341 copy of the graph with sufficient edges reversed to make the
[4c24eb0a]342 graph acyclic
[ac4b41a]343 </para>
[6722219]344 <indexterm zone="graphviz acyclic">
345 <primary sortas="b-acyclic">acyclic</primary>
346 </indexterm>
347 </listitem>
348 </varlistentry>
349
350 <varlistentry id="bcomps">
351 <term><command>bcomps</command></term>
352 <listitem>
[ac4b41a]353 <para>
[0d7900a]354 decomposes graphs into their biconnected components,
[4c24eb0a]355 printing the components to standard output
[ac4b41a]356 </para>
[6722219]357 <indexterm zone="graphviz bcomps">
358 <primary sortas="b-bcomps">bcomps</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="ccomps">
364 <term><command>ccomps</command></term>
365 <listitem>
[ac4b41a]366 <para>
[0d7900a]367 decomposes graphs into their connected components,
[4c24eb0a]368 printing the components to standard output
[ac4b41a]369 </para>
[6722219]370 <indexterm zone="graphviz ccomps">
371 <primary sortas="b-ccomps">ccomps</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 <varlistentry id="circo">
377 <term><command>circo</command></term>
378 <listitem>
[ac4b41a]379 <para>
[4c24eb0a]380 draws graphs using a circular layout
[ac4b41a]381 </para>
[6722219]382 <indexterm zone="graphviz circo">
383 <primary sortas="b-circo">circo</primary>
384 </indexterm>
385 </listitem>
386 </varlistentry>
387
[ac4b41a]388 <varlistentry id="cluster">
389 <term><command>cluster</command></term>
390 <listitem>
391 <para>
[7999839]392 takes a graph in DOT format as input, finds node clusters
393 and then augments the graph with this information
[ac4b41a]394 </para>
395 <indexterm zone="graphviz cluster">
396 <primary sortas="b-cluster">cluster</primary>
397 </indexterm>
398 </listitem>
399 </varlistentry>
400
401 <varlistentry id="diffimg">
402 <term><command>diffimg</command></term>
403 <listitem>
404 <para>
[b3d0dbd]405 (needs <ulink url="https://www.libgd.org/">GD Library</ulink>)
[0d7900a]406 generates an image where each pixel is the
407 difference between the corresponding pixel in
[4c24eb0a]408 each of the two source images
[ac4b41a]409 </para>
410 <indexterm zone="graphviz diffimg">
411 <primary sortas="b-diffimg">diffimg</primary>
412 </indexterm>
413 </listitem>
414 </varlistentry>
415
[6722219]416 <varlistentry id="dijkstra">
417 <term><command>dijkstra</command></term>
418 <listitem>
[ac4b41a]419 <para>
420 reads a stream of graphs and for each computes the distance of
[4c24eb0a]421 every node from sourcenode
[ac4b41a]422 </para>
[6722219]423 <indexterm zone="graphviz dijkstra">
424 <primary sortas="b-dijkstra">dijkstra</primary>
425 </indexterm>
426 </listitem>
427 </varlistentry>
428
429 <varlistentry id="dot">
430 <term><command>dot</command></term>
431 <listitem>
[ac4b41a]432 <para>
433 draws directed graphs. It works well on DAGs and other graphs
434 that can be drawn as hierarchies. It reads attributed graph files and
435 writes drawings. By default, the output format dot is the input file
[4c24eb0a]436 with layout coordinates appended
[ac4b41a]437 </para>
[6722219]438 <indexterm zone="graphviz dot">
439 <primary sortas="b-dot">dot</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444 <varlistentry id="dot2gxl">
445 <term><command>dot2gxl</command></term>
446 <listitem>
[ac4b41a]447 <para>
448 converts between graphs represented in GXL and in the DOT
449 language. Unless a conversion type is specified using a flag,
450 <command>gxl2dot</command> will deduce the type of conversion from
451 the suffix of the input file, a
[4c24eb0a]452 <filename class="extension">.dot</filename> suffix causing a
[ac4b41a]453 conversion from DOT to GXL, and a
[4c24eb0a]454 <filename class="extension">.gxl</filename> suffix causing a
455 conversion from GXL to DOT
[ac4b41a]456 </para>
[6722219]457 <indexterm zone="graphviz dot2gxl">
458 <primary sortas="b-dot2gxl">dot2gxl</primary>
459 </indexterm>
460 </listitem>
461 </varlistentry>
[9d90199]462 <!--
[6722219]463 <varlistentry id="dotty">
464 <term><command>dotty</command></term>
465 <listitem>
[ac4b41a]466 <para>
467 is a graph editor for the X Window System. It may be run as a
468 standalone editor, or as a front end for applications that use
[4c24eb0a]469 graphs. It can control multiple windows viewing different graphs
[ac4b41a]470 </para>
[6722219]471 <indexterm zone="graphviz dotty">
472 <primary sortas="b-dotty">dotty</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
[9d90199]476 -->
[08bd91b]477 <varlistentry id="edgepaint">
478 <term><command>edgepaint</command></term>
479 <listitem>
480 <para>
[4c24eb0a]481 performs edge coloring to disambiguate crossing edges
[08bd91b]482 </para>
483 <indexterm zone="graphviz edgepaint">
484 <primary sortas="b-edgepaint">edgepaint</primary>
485 </indexterm>
486 </listitem>
487 </varlistentry>
488
[6722219]489 <varlistentry id="fdp">
490 <term><command>fdp</command></term>
491 <listitem>
[ac4b41a]492 <para>
493 draws undirected graphs using a <quote>spring</quote> model. It
494 relies on a force-directed approach in the spirit of Fruchterman
[4c24eb0a]495 and Reingold
[ac4b41a]496 </para>
[6722219]497 <indexterm zone="graphviz fdp">
498 <primary sortas="b-fdp">fdp</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502
503 <varlistentry id="gc-graphviz">
504 <term><command>gc</command></term>
505 <listitem>
[ac4b41a]506 <para>
507 is a graph analogue to <command>wc</command> in that it prints
508 to standard output the number of nodes, edges, connected components
509 or clusters contained in the input files. It also prints a total
[4c24eb0a]510 count for all graphs if more than one graph is given
[ac4b41a]511 </para>
[6722219]512 <indexterm zone="graphviz gc-graphviz">
513 <primary sortas="b-gc">gc</primary>
514 </indexterm>
515 </listitem>
516 </varlistentry>
517
[ac4b41a]518 <varlistentry id="gml2gv">
519 <term><command>gml2gv</command></term>
520 <listitem>
521 <para>
[0d7900a]522 converts a graph specified in the GML format to
[4c24eb0a]523 a graph in the GV (formerly DOT) format
[ac4b41a]524 </para>
525 <indexterm zone="graphviz gml2gv">
526 <primary sortas="b-gml2gv">gml2gv</primary>
527 </indexterm>
528 </listitem>
529 </varlistentry>
530
[2a879b7c]531 <varlistentry id="graphml2gv">
532 <term><command>graphml2gv</command></term>
[ac4b41a]533 <listitem>
534 <para>
[41d241e]535 converts a graph specified in the GRAPHML format to a graph in
[4c24eb0a]536 the GV (formerly DOT) format
[ac4b41a]537 </para>
[2a879b7c]538 <indexterm zone="graphviz graphml2gv">
539 <primary sortas="b-graphml2gv">graphml2gv</primary>
540 </indexterm>
541 </listitem>
542 </varlistentry>
543
544 <varlistentry id="gv2gml">
545 <term><command>gv2gml</command></term>
546 <listitem>
547 <para>
[4c24eb0a]548 converts a graph specified in the GV format to a graph in the GML format
[2a879b7c]549 </para>
550 <indexterm zone="graphviz gv2gml">
551 <primary sortas="b-gv2gml">gv2gml</primary>
552 </indexterm>
553 </listitem>
554 </varlistentry>
555
556 <varlistentry id="gv2gxl">
557 <term><command>gv2gxl</command></term>
558 <listitem>
559 <para>
[4c24eb0a]560 converts a graph specified in the GV format to a graph in the GXL format
[2a879b7c]561 </para>
562 <indexterm zone="graphviz gv2gxl">
563 <primary sortas="b-gv2gxl">gv2gxl</primary>
[ac4b41a]564 </indexterm>
565 </listitem>
566 </varlistentry>
567
[6722219]568 <varlistentry id="gvcolor">
569 <term><command>gvcolor</command></term>
570 <listitem>
[ac4b41a]571 <para>
572 is a filter that sets node colors from initial seed values.
573 Colors flow along edges from tail to head, and are averaged (as HSB
[4c24eb0a]574 vectors) at nodes
[ac4b41a]575 </para>
[6722219]576 <indexterm zone="graphviz gvcolor">
577 <primary sortas="b-gvcolor">gvcolor</primary>
578 </indexterm>
579 </listitem>
580 </varlistentry>
581
[ac4b41a]582 <varlistentry id="gvedit">
583 <term><command>gvedit</command></term>
584 <listitem>
585 <para>
[0d7900a]586 provides a simple graph editor and viewer. It allows many
[ac4b41a]587 graphs to be viewed at the same time. The text of each
[4c24eb0a]588 graph is displayed in its own text window
[ac4b41a]589 </para>
590 <indexterm zone="graphviz gvedit">
591 <primary sortas="b-gvedit">gvedit</primary>
592 </indexterm>
593 </listitem>
594 </varlistentry>
595
596 <varlistentry id="gvgen">
597 <term><command>gvgen</command></term>
598 <listitem>
599 <para>
[0d7900a]600 generates a variety of simple, regularly-structured
[4c24eb0a]601 abstract graphs
[ac4b41a]602 </para>
603 <indexterm zone="graphviz gvgen">
604 <primary sortas="b-gvgen">gvgen</primary>
605 </indexterm>
606 </listitem>
607 </varlistentry>
608
609 <varlistentry id="gvmap">
610 <term><command>gvmap</command></term>
611 <listitem>
612 <para>
[0d7900a]613 takes as input a graph in DOT format, finds node
614 clusters and produces a rendering of the graph as
[ac4b41a]615 a geographic-style map, with clusters highlighted,
[4c24eb0a]616 in xdot format
[ac4b41a]617 </para>
618 <indexterm zone="graphviz gvmap">
619 <primary sortas="b-gvmap">gvmap</primary>
620 </indexterm>
621 </listitem>
622 </varlistentry>
623
[2a879b7c]624 <varlistentry id="gvmap.sh">
625 <term><command>gvmap.sh</command></term>
626 <listitem>
627 <para>
[4c24eb0a]628 is a pipeline for running gvmap
[2a879b7c]629 </para>
630 <indexterm zone="graphviz gvmap.sh">
631 <primary sortas="b-gvmap.sh">gvmap.sh</primary>
632 </indexterm>
633 </listitem>
634 </varlistentry>
635
[6722219]636 <varlistentry id="gvpack">
637 <term><command>gvpack</command></term>
638 <listitem>
[ac4b41a]639 <para>
[0d7900a]640 reads in a stream of graphs, combines the graphs into a single layout,
[4c24eb0a]641 and produces a single graph serving as the union of the input graphs
[ac4b41a]642 </para>
[6722219]643 <indexterm zone="graphviz gvpack">
644 <primary sortas="b-gvpack">gvpack</primary>
645 </indexterm>
646 </listitem>
647 </varlistentry>
648
649 <varlistentry id="gvpr">
650 <term><command>gvpr</command></term>
651 <listitem>
[ac4b41a]652 <para>
653 is a graph stream editor inspired by <command>awk</command>. It
654 copies input graphs to its output, possibly transforming their
655 structure and attributes, creating new graphs, or printing arbitrary
[4c24eb0a]656 information
[ac4b41a]657 </para>
[6722219]658 <indexterm zone="graphviz gvpr">
659 <primary sortas="b-gvpr">gvpr</primary>
660 </indexterm>
661 </listitem>
662 </varlistentry>
663
664 <varlistentry id="gxl2dot">
665 <term><command>gxl2dot</command></term>
666 <listitem>
[ac4b41a]667 <para>
668 converts between graphs represented in GXL and in the DOT
669 language. Unless a conversion type is specified using a flag,
670 <command>gxl2dot</command> will deduce the type of conversion from
671 the suffix of the input file, a
[4c24eb0a]672 <filename class="extension">.dot</filename> suffix causing a
[ac4b41a]673 conversion from DOT to GXL, and a
[4c24eb0a]674 <filename class="extension">.gxl</filename> suffix causing a
675 conversion from GXL to DOT
[ac4b41a]676 </para>
[6722219]677 <indexterm zone="graphviz gxl2dot">
678 <primary sortas="b-gxl2dot">gxl2dot</primary>
679 </indexterm>
680 </listitem>
681 </varlistentry>
682
[2a879b7c]683 <varlistentry id="gxl2gv">
684 <term><command>gxl2gv</command></term>
685 <listitem>
686 <para>
687 converts between graphs represented in GXL and in
[4c24eb0a]688 the GV language
[2a879b7c]689 </para>
690 <indexterm zone="graphviz gxl2gv">
691 <primary sortas="b-gxl2gv">gxl2gv</primary>
692 </indexterm>
693 </listitem>
694 </varlistentry>
[9d90199]695 <!--
[6722219]696 <varlistentry id="lefty">
697 <term><command>lefty</command></term>
698 <listitem>
[ac4b41a]699 <para>
[4c24eb0a]700 is a two-view graphics editor for technical pictures
[ac4b41a]701 </para>
[6722219]702 <indexterm zone="graphviz lefty">
703 <primary sortas="b-lefty">lefty</primary>
704 </indexterm>
705 </listitem>
706 </varlistentry>
707
708 <varlistentry id="lneato">
709 <term><command>lneato</command></term>
710 <listitem>
[ac4b41a]711 <para>
712 is a graph editor for the X Window System. It may be run as a
713 standalone editor, or as a front end for applications that use
[4c24eb0a]714 graphs. It can control multiple windows viewing different graphs
[ac4b41a]715 </para>
[6722219]716 <indexterm zone="graphviz lneato">
717 <primary sortas="b-lneato">lneato</primary>
718 </indexterm>
719 </listitem>
720 </varlistentry>
[9d90199]721 -->
[ac4b41a]722 <varlistentry id="mm2gv">
723 <term><command>mm2gv</command></term>
724 <listitem>
725 <para>
726 converts a sparse matrix of the Matrix Market format
[4c24eb0a]727 to a graph in the GV (formerly DOT) format
[ac4b41a]728 </para>
729 <indexterm zone="graphviz mm2gv">
730 <primary sortas="b-mm2gv">mm2gv</primary>
731 </indexterm>
732 </listitem>
733 </varlistentry>
734
735 <varlistentry id="neato">
736 <term><command>neato</command></term>
737 <listitem>
738 <para>
[0d7900a]739 draws undirected graphs using <quote>spring</quote> models. Input
[ac4b41a]740 files must be formatted in the <command>dot</command> attributed
[0d7900a]741 graph language. By default, the output of <command>neato</command>
[4c24eb0a]742 is the input graph with layout coordinates appended
[ac4b41a]743 </para>
744 <indexterm zone="graphviz neato">
745 <primary sortas="b-neato">neato</primary>
746 </indexterm>
747 </listitem>
748 </varlistentry>
749
[6722219]750 <varlistentry id="nop">
751 <term><command>nop</command></term>
752 <listitem>
[ac4b41a]753 <para>
[0d7900a]754 reads a stream of graphs and prints each in pretty-printed (canonical)
[4c24eb0a]755 format on stdout. If no files are given, it reads from stdin
[ac4b41a]756 </para>
[6722219]757 <indexterm zone="graphviz nop">
758 <primary sortas="b-nop">nop</primary>
759 </indexterm>
760 </listitem>
761 </varlistentry>
762
[ac4b41a]763 <varlistentry id="osage">
764 <term><command>osage</command></term>
765 <listitem>
766 <para>
[7999839]767 draws clustered graphs. It takes any graph in DOT format as input
[ac4b41a]768 </para>
769 <indexterm zone="graphviz osage">
770 <primary sortas="b-osage">osage</primary>
771 </indexterm>
772 </listitem>
773 </varlistentry>
774
775 <varlistentry id="patchwork">
776 <term><command>patchwork</command></term>
777 <listitem>
778 <para>
[0d7900a]779 draws clustered graphs using a squarified treemap layout.
[7999839]780 It takes any graph in DOT format as input
[ac4b41a]781 </para>
782 <indexterm zone="graphviz patchwork">
783 <primary sortas="b-patchwork">patchwork</primary>
784 </indexterm>
785 </listitem>
786 </varlistentry>
787
[6722219]788 <varlistentry id="prune">
789 <term><command>prune</command></term>
790 <listitem>
[ac4b41a]791 <para>
792 reads directed graphs in the same format used by
793 <command>dot</command> and removes subgraphs rooted at nodes
[4c24eb0a]794 specified on the command line via options
[ac4b41a]795 </para>
[6722219]796 <indexterm zone="graphviz prune">
797 <primary sortas="b-prune">prune</primary>
798 </indexterm>
799 </listitem>
800 </varlistentry>
801
802 <varlistentry id="sccmap">
803 <term><command>sccmap</command></term>
804 <listitem>
[ac4b41a]805 <para>
806 decomposes digraphs into strongly connected components and an
807 auxiliary map of the relationship between components. In this map,
808 each component is collapsed into a node. The resulting graphs are
[4c24eb0a]809 printed to stdout
[ac4b41a]810 </para>
[6722219]811 <indexterm zone="graphviz sccmap">
812 <primary sortas="b-sccmap">sccmap</primary>
813 </indexterm>
814 </listitem>
815 </varlistentry>
816
[ac4b41a]817 <varlistentry id="sfdp">
818 <term><command>sfdp</command></term>
819 <listitem>
820 <para>
[0d7900a]821 draws undirected graphs using the <quote>spring</quote> model,
[ac4b41a]822 but it uses a multi-scale approach to produce layouts of large
[4c24eb0a]823 graphs in a reasonably short time
[ac4b41a]824 </para>
825 <indexterm zone="graphviz sfdp">
826 <primary sortas="b-sfdp">sfdp</primary>
827 </indexterm>
828 </listitem>
829 </varlistentry>
830
[6722219]831 <varlistentry id="tred">
832 <term><command>tred</command></term>
833 <listitem>
[ac4b41a]834 <para>
835 computes the transitive reduction of directed graphs, and
836 prints the resulting graphs to standard output. This removes edges
837 implied by transitivity. Nodes and subgraphs are not otherwise
[4c24eb0a]838 affected
[ac4b41a]839 </para>
[6722219]840 <indexterm zone="graphviz tred">
841 <primary sortas="b-tred">tred</primary>
842 </indexterm>
843 </listitem>
844 </varlistentry>
845
846 <varlistentry id="twopi">
847 <term><command>twopi</command></term>
848 <listitem>
[ac4b41a]849 <para>
850 draws graphs using a radial layout. Basically, one node is
851 chosen as the center and put at the origin. The remaining nodes are
852 placed on a sequence of concentric circles centered about the origin,
[4c24eb0a]853 each a fixed radial distance from the previous circle
[ac4b41a]854 </para>
[6722219]855 <indexterm zone="graphviz twopi">
[8c9e2f6e]856 <primary sortas="b-twopi">twopi</primary>
[6722219]857 </indexterm>
858 </listitem>
859 </varlistentry>
860
861 <varlistentry id="unflatten">
862 <term><command>unflatten</command></term>
863 <listitem>
[ac4b41a]864 <para>
865 is a preprocessor to <command>dot</command> that is used to
866 improve the aspect ratio of graphs having many leaves or disconnected
[4c24eb0a]867 nodes. The usual layout for such a graph is generally very wide or tall
[ac4b41a]868 </para>
[6722219]869 <indexterm zone="graphviz unflatten">
870 <primary sortas="b-unflatten">unflatten</primary>
871 </indexterm>
872 </listitem>
873 </varlistentry>
874
[ac4b41a]875 <varlistentry id="vimdot">
876 <term><command>vimdot</command></term>
[6722219]877 <listitem>
[ac4b41a]878 <para>
879 is a simple script which launches the <command>gvim</command>
[0d7900a]880 or <command>vim</command> editor along with a GUI window
[4c24eb0a]881 showing the <command>dot</command> output of the edited file
[ac4b41a]882 </para>
883 <indexterm zone="graphviz vimdot">
884 <primary sortas="b-vimdot">vimdot</primary>
[6722219]885 </indexterm>
886 </listitem>
[0d7900a]887 </varlistentry>
[6722219]888
889 <varlistentry id="libcdt">
[5b38e37]890 <term><filename class="libraryfile">libcdt.so</filename></term>
[6722219]891 <listitem>
[ac4b41a]892 <para>
893 manages run-time dictionaries using standard container data
894 types: unordered set/multiset, ordered set/multiset, list, stack,
[4c24eb0a]895 and queue
[ac4b41a]896 </para>
[6722219]897 <indexterm zone="graphviz libcdt">
[ac4b41a]898 <primary sortas="c-libcdt">libcdt.so</primary>
[6722219]899 </indexterm>
900 </listitem>
901 </varlistentry>
902
[ac4b41a]903 <varlistentry id="libcgraph">
[5b38e37]904 <term><filename class="libraryfile">libcgraph.so</filename></term>
[6722219]905 <listitem>
[ac4b41a]906 <para>
[0d7900a]907 supports graph programming by maintaining graphs in memory and
[ac4b41a]908 reading and writing graph files. Graphs are composed of nodes,
[4c24eb0a]909 edges, and nested subgraphs
[ac4b41a]910 </para>
911 <indexterm zone="graphviz libcgraph">
912 <primary sortas="c-libcgraph">libcgraph.so</primary>
[6722219]913 </indexterm>
914 </listitem>
915 </varlistentry>
916
[ac4b41a]917 <varlistentry id="libgvc">
[5b38e37]918 <term><filename class="libraryfile">libgvc.so</filename></term>
[6722219]919 <listitem>
[ac4b41a]920 <para>
921 provides a context for applications wishing to manipulate
[7999839]922 and render graphs. It provides command line parsing interfaces,
[4c24eb0a]923 common rendering code, and a plugin mechanism for renderers
[ac4b41a]924 </para>
925 <indexterm zone="graphviz libgvc">
926 <primary sortas="c-libgvc">libgvc.so</primary>
[6722219]927 </indexterm>
928 </listitem>
929 </varlistentry>
930
931 <varlistentry id="libpathplan">
[5b38e37]932 <term><filename class="libraryfile">libpathplan.so</filename></term>
[6722219]933 <listitem>
[ac4b41a]934 <para>
935 contains functions to find the shortest path between two points
[4c24eb0a]936 in a simple polygon
[ac4b41a]937 </para>
[6722219]938 <indexterm zone="graphviz libpathplan">
[ac4b41a]939 <primary sortas="c-libpathplan">libpathplan.so</primary>
940 </indexterm>
941 </listitem>
942 </varlistentry>
943
944 <varlistentry id="libxdot">
[5b38e37]945 <term><filename class="libraryfile">libxdot.so</filename></term>
[ac4b41a]946 <listitem>
947 <para>
[0d7900a]948 provides support for parsing and deparsing graphical
[b9c353b]949 operations specified by the xdot language
[ac4b41a]950 </para>
951 <indexterm zone="graphviz libxdot">
952 <primary sortas="c-libxdot">libxdot.so</primary>
[6722219]953 </indexterm>
954 </listitem>
955 </varlistentry>
956
957 </variablelist>
958
959 </sect2>
960
961</sect1>
Note: See TracBrowser for help on using the repository browser.