source: general/genutils/graphviz.xml@ 6c3d8a47

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 9.1 gimp3 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 6c3d8a47 was 6c3d8a47, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Update to graphviz-2.42.1.
Update to swig-4.0.1.
Update to nspr-4.22.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22083 af4574ff-66df-0310-9fd7-8a98e5e911e0

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