source: general/genutils/graphviz.xml@ 31ef4b60

10.0 10.1 11.0 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 31ef4b60 was 31ef4b60, checked in by Pierre Labastie <pieere@…>, 4 years ago

Graphviz: make all dependencies optional and explain what they are useful for

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

  • Property mode set to 100644
File size: 34.4 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 "http://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz">
8 <!ENTITY graphviz-download-ftp " ">
9 <!ENTITY graphviz-md5sum "4ea6fd64603536406166600bcc296fc8">
10 <!ENTITY graphviz-size "24 MB">
11 <!ENTITY graphviz-buildsize "177 MB">
12 <!ENTITY graphviz-time "0.7 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 &lfs81_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<screen><userinput>sed -e '/ruby/s/1\.9/2.4/' -i configure.ac</userinput></screen>
218
219 <para>
220 If <xref linkend="qt5"/> is installed, and you want to build the
221 <command>gvedit</command> graph editor, issue:
222 </para>
223
224<screen><userinput>patch -p1 -i ../graphviz-&graphviz-version;-qt5-1.patch</userinput></screen>
225
226 <para>
227 Install <application>Graphviz</application> by running the following
228 commands:
229 </para>
230
231<screen><userinput>sed -i '/LIBPOSTFIX="64"/s/64//' configure.ac &amp;&amp;
232
233autoreconf &amp;&amp;
234./configure --prefix=/usr &amp;&amp;
235make</userinput></screen>
236
237 <para>
238 This package does not come with a test suite that provides
239 meaningful results.
240 </para>
241
242 <para>
243 Now, as the <systemitem class="username">root</systemitem> user:
244 </para>
245
246<screen role="root"><userinput>make install</userinput></screen>
247
248 <para>
249 If desired, create a symbolic link in the system documents directory
250 to the documentation installed in
251 <filename class="directory">/usr/share/graphviz/doc</filename> using the
252 following command as the <systemitem class="username">root</systemitem>
253 user:
254 </para>
255
256<screen role="root"><userinput>ln -v -s /usr/share/graphviz/doc \
257 /usr/share/doc/graphviz-&graphviz-version;</userinput></screen>
258
259 </sect2>
260
261 <sect2 role="commands">
262 <title>Command Explanations</title>
263
264 <para>
265 <command>sed ... configure.ac</command>: This command is needed to
266 avoid installing files in /usr/lib64.
267 </para>
268<!-- Seems php bindings can be built now (not tested)
269 <para>
270 <parameter>- -disable-php</parameter>: This version of graphviz
271 does not support php version 7.
272 </para>-->
273
274 <para>
275 <option>--with-javaincludedir="$JAVA_HOME/include
276 -I$JAVA_HOME/include/linux"</option>:
277 If you have built <xref linkend="openjdk"/> in /opt, and you want to
278 build the JAVA bindings, it is necessary to specify the location of the
279 JAVA header files to configure. The configure switch is designed for
280 only one directory, but two directories need to be included.
281 This is possible nevertheless by using the -I switch inside the variable.
282 </para>
283
284 <para>
285 <option>--with-webp</option>: Even if <xref linkend="libwebp"/> is
286 installed, it is not included in the build without this option.
287 </para>
288
289 <para>
290 <option>--with-smyrna</option>: Even if the needed dependencies are
291 installed, the interactive graph viewer <command>smyrna</command> is not
292 built without this option.
293 </para>
294
295 </sect2>
296
297 <sect2 role="configuration">
298 <title>Configuring Graphviz</title>
299
300 <sect3 id="graphviz-config">
301 <title>Config Files</title>
302
303 <para>
304 <filename>/usr/lib/graphviz/config</filename>
305 </para>
306
307 <indexterm zone="graphviz graphviz-config">
308 <primary sortas="e-usr-share-graphviz-config">/usr/share/graphviz/config</primary>
309 </indexterm>
310
311 </sect3>
312
313 <sect3>
314 <title>Configuration Information</title>
315
316 <para>
317 There are no specific configuration requirements for
318 <application>Graphviz</application>. You may consider installing the
319 additional plugins and tools available from the download page at
320 <ulink url="http://www.graphviz.org/Download_source.php"/> for additional
321 capabilities. If additional plugins are installed, you can run
322 <command>dot -c</command> (as the
323 <systemitem class="username">root</systemitem> user) to update the
324 <filename>config</filename> file in
325 <filename class="directory">/usr/lib/graphviz</filename>.
326 </para>
327
328 </sect3>
329
330 </sect2>
331
332 <sect2 role="content">
333 <title>Contents</title>
334
335 <segmentedlist>
336 <segtitle>Installed Programs</segtitle>
337 <segtitle>Installed Libraries</segtitle>
338 <segtitle>Installed Directories</segtitle>
339
340 <seglistitem>
341 <seg>
342 acyclic, bcomps, ccomps, circo, cluster, diffimg, dijkstra,
343 dot, dot2gxl, dot_builtins, dotty, edgepaint, fdp, gc, gml2gv,
344 graphml2gv, gv2gml, gv2gxl, gvcolor, gvedit, gvgen, gvmap, gvmap.sh,
345 gvpack, gvpr, gxl2dot, gxl2gv, lefty, lneato, mm2gv, neato, nop,
346 osage, patchwork, prune, sccmap, sfdp, tred, twopi,
347 unflatten, and vimdot
348 </seg>
349 <seg>
350 libcdt.so, libcgraph.so, libgvc.so, libgvpr.so, libpathplan.so,
351 libxdot.so, and several plugins in /usr/lib/graphviz.
352 There are also several in subdirectories of
353 /usr/lib/{lua,perl5,php,python&python2-majorver;,tcl8.6}.
354 Unfortunately, some libraries are duplicated.
355 </seg>
356 <seg>
357 /usr/include/graphviz,
358 /usr/lib/graphviz,
359 /usr/lib/tcl8.6/graphviz,
360 /usr/share/doc/graphviz-&graphviz-version;, and
361 /usr/share/graphviz
362 </seg>
363 </seglistitem>
364 </segmentedlist>
365
366 <variablelist>
367 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
368 <?dbfo list-presentation="list"?>
369 <?dbhtml list-presentation="table"?>
370
371 <varlistentry id="acyclic">
372 <term><command>acyclic</command></term>
373 <listitem>
374 <para>
375 is a filter that takes a directed graph as input and outputs a
376 copy of the graph with sufficient edges reversed to make the
377 graph acyclic.
378 </para>
379 <indexterm zone="graphviz acyclic">
380 <primary sortas="b-acyclic">acyclic</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="bcomps">
386 <term><command>bcomps</command></term>
387 <listitem>
388 <para>
389 decomposes graphs into their biconnected components,
390 printing the components to standard output.
391 </para>
392 <indexterm zone="graphviz bcomps">
393 <primary sortas="b-bcomps">bcomps</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 <varlistentry id="ccomps">
399 <term><command>ccomps</command></term>
400 <listitem>
401 <para>
402 decomposes graphs into their connected components,
403 printing the components to standard output.
404 </para>
405 <indexterm zone="graphviz ccomps">
406 <primary sortas="b-ccomps">ccomps</primary>
407 </indexterm>
408 </listitem>
409 </varlistentry>
410
411 <varlistentry id="circo">
412 <term><command>circo</command></term>
413 <listitem>
414 <para>
415 draws graphs using a circular layout.
416 </para>
417 <indexterm zone="graphviz circo">
418 <primary sortas="b-circo">circo</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="cluster">
424 <term><command>cluster</command></term>
425 <listitem>
426 <para>
427 takes as input a graph in DOT format, finds node clusters
428 and augments the graph with this information.
429 </para>
430 <indexterm zone="graphviz cluster">
431 <primary sortas="b-cluster">cluster</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
435
436 <varlistentry id="diffimg">
437 <term><command>diffimg</command></term>
438 <listitem>
439 <para>
440 (needs <ulink url="http://www.libgd.org/">GD Library</ulink>)
441 generates an image where each pixel is the
442 difference between the corresponding pixel in
443 each of the two source images.
444 </para>
445 <indexterm zone="graphviz diffimg">
446 <primary sortas="b-diffimg">diffimg</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450
451 <varlistentry id="dijkstra">
452 <term><command>dijkstra</command></term>
453 <listitem>
454 <para>
455 reads a stream of graphs and for each computes the distance of
456 every node from sourcenode.
457 </para>
458 <indexterm zone="graphviz dijkstra">
459 <primary sortas="b-dijkstra">dijkstra</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 <varlistentry id="dot">
465 <term><command>dot</command></term>
466 <listitem>
467 <para>
468 draws directed graphs. It works well on DAGs and other graphs
469 that can be drawn as hierarchies. It reads attributed graph files and
470 writes drawings. By default, the output format dot is the input file
471 with layout coordinates appended.
472 </para>
473 <indexterm zone="graphviz dot">
474 <primary sortas="b-dot">dot</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 <varlistentry id="dot2gxl">
480 <term><command>dot2gxl</command></term>
481 <listitem>
482 <para>
483 converts between graphs represented in GXL and in the DOT
484 language. Unless a conversion type is specified using a flag,
485 <command>gxl2dot</command> will deduce the type of conversion from
486 the suffix of the input file, a
487 <filename class='extension'>.dot</filename> suffix causing a
488 conversion from DOT to GXL, and a
489 <filename class='extension'>.gxl</filename> suffix causing a
490 conversion from GXL to DOT.
491 </para>
492 <indexterm zone="graphviz dot2gxl">
493 <primary sortas="b-dot2gxl">dot2gxl</primary>
494 </indexterm>
495 </listitem>
496 </varlistentry>
497
498 <varlistentry id="dotty">
499 <term><command>dotty</command></term>
500 <listitem>
501 <para>
502 is a graph editor for the X Window System. It may be run as a
503 standalone editor, or as a front end for applications that use
504 graphs. It can control multiple windows viewing different graphs.
505 </para>
506 <indexterm zone="graphviz dotty">
507 <primary sortas="b-dotty">dotty</primary>
508 </indexterm>
509 </listitem>
510 </varlistentry>
511
512 <varlistentry id="edgepaint">
513 <term><command>edgepaint</command></term>
514 <listitem>
515 <para>
516 edge coloring to disambiguate crossing edges.
517 </para>
518 <indexterm zone="graphviz edgepaint">
519 <primary sortas="b-edgepaint">edgepaint</primary>
520 </indexterm>
521 </listitem>
522 </varlistentry>
523
524 <varlistentry id="fdp">
525 <term><command>fdp</command></term>
526 <listitem>
527 <para>
528 draws undirected graphs using a <quote>spring</quote> model. It
529 relies on a force-directed approach in the spirit of Fruchterman
530 and Reingold.
531 </para>
532 <indexterm zone="graphviz fdp">
533 <primary sortas="b-fdp">fdp</primary>
534 </indexterm>
535 </listitem>
536 </varlistentry>
537
538 <varlistentry id="gc-graphviz">
539 <term><command>gc</command></term>
540 <listitem>
541 <para>
542 is a graph analogue to <command>wc</command> in that it prints
543 to standard output the number of nodes, edges, connected components
544 or clusters contained in the input files. It also prints a total
545 count for all graphs if more than one graph is given.
546 </para>
547 <indexterm zone="graphviz gc-graphviz">
548 <primary sortas="b-gc">gc</primary>
549 </indexterm>
550 </listitem>
551 </varlistentry>
552
553 <varlistentry id="gml2gv">
554 <term><command>gml2gv</command></term>
555 <listitem>
556 <para>
557 converts a graph specified in the GML format to
558 a graph in the GV (formerly DOT) format.
559 </para>
560 <indexterm zone="graphviz gml2gv">
561 <primary sortas="b-gml2gv">gml2gv</primary>
562 </indexterm>
563 </listitem>
564 </varlistentry>
565
566 <varlistentry id="graphml2gv">
567 <term><command>graphml2gv</command></term>
568 <listitem>
569 <para>
570 converts a graph specified in the GRAPHML format to a graph in
571 the GV (formerly DOT) format.
572 </para>
573 <indexterm zone="graphviz graphml2gv">
574 <primary sortas="b-graphml2gv">graphml2gv</primary>
575 </indexterm>
576 </listitem>
577 </varlistentry>
578
579 <varlistentry id="gv2gml">
580 <term><command>gv2gml</command></term>
581 <listitem>
582 <para>
583 converts a graph specified in the GV format to a graph in the GML format.
584 </para>
585 <indexterm zone="graphviz gv2gml">
586 <primary sortas="b-gv2gml">gv2gml</primary>
587 </indexterm>
588 </listitem>
589 </varlistentry>
590
591 <varlistentry id="gv2gxl">
592 <term><command>gv2gxl</command></term>
593 <listitem>
594 <para>
595 converts a graph specified in the GV format to a graph in the GXL format.
596 </para>
597 <indexterm zone="graphviz gv2gxl">
598 <primary sortas="b-gv2gxl">gv2gxl</primary>
599 </indexterm>
600 </listitem>
601 </varlistentry>
602
603 <varlistentry id="gvcolor">
604 <term><command>gvcolor</command></term>
605 <listitem>
606 <para>
607 is a filter that sets node colors from initial seed values.
608 Colors flow along edges from tail to head, and are averaged (as HSB
609 vectors) at nodes.
610 </para>
611 <indexterm zone="graphviz gvcolor">
612 <primary sortas="b-gvcolor">gvcolor</primary>
613 </indexterm>
614 </listitem>
615 </varlistentry>
616
617 <varlistentry id="gvedit">
618 <term><command>gvedit</command></term>
619 <listitem>
620 <para>
621 provides a simple graph editor and viewer. It allows many
622 graphs to be viewed at the same time. The text of each
623 graph is displayed in its own text window.
624 </para>
625 <indexterm zone="graphviz gvedit">
626 <primary sortas="b-gvedit">gvedit</primary>
627 </indexterm>
628 </listitem>
629 </varlistentry>
630
631 <varlistentry id="gvgen">
632 <term><command>gvgen</command></term>
633 <listitem>
634 <para>
635 generates a variety of simple, regularly-structured
636 abstract graphs.
637 </para>
638 <indexterm zone="graphviz gvgen">
639 <primary sortas="b-gvgen">gvgen</primary>
640 </indexterm>
641 </listitem>
642 </varlistentry>
643
644 <varlistentry id="gvmap">
645 <term><command>gvmap</command></term>
646 <listitem>
647 <para>
648 takes as input a graph in DOT format, finds node
649 clusters and produces a rendering of the graph as
650 a geographic-style map, with clusters highlighted,
651 in xdot format.
652 </para>
653 <indexterm zone="graphviz gvmap">
654 <primary sortas="b-gvmap">gvmap</primary>
655 </indexterm>
656 </listitem>
657 </varlistentry>
658
659 <varlistentry id="gvmap.sh">
660 <term><command>gvmap.sh</command></term>
661 <listitem>
662 <para>
663 is a pipeline for running gvmap.
664 </para>
665 <indexterm zone="graphviz gvmap.sh">
666 <primary sortas="b-gvmap.sh">gvmap.sh</primary>
667 </indexterm>
668 </listitem>
669 </varlistentry>
670
671 <varlistentry id="gvpack">
672 <term><command>gvpack</command></term>
673 <listitem>
674 <para>
675 reads in a stream of graphs, combines the graphs into a single layout,
676 and produces a single graph serving as the union of the input graphs.
677 </para>
678 <indexterm zone="graphviz gvpack">
679 <primary sortas="b-gvpack">gvpack</primary>
680 </indexterm>
681 </listitem>
682 </varlistentry>
683
684 <varlistentry id="gvpr">
685 <term><command>gvpr</command></term>
686 <listitem>
687 <para>
688 is a graph stream editor inspired by <command>awk</command>. It
689 copies input graphs to its output, possibly transforming their
690 structure and attributes, creating new graphs, or printing arbitrary
691 information.
692 </para>
693 <indexterm zone="graphviz gvpr">
694 <primary sortas="b-gvpr">gvpr</primary>
695 </indexterm>
696 </listitem>
697 </varlistentry>
698
699 <varlistentry id="gxl2dot">
700 <term><command>gxl2dot</command></term>
701 <listitem>
702 <para>
703 converts between graphs represented in GXL and in the DOT
704 language. Unless a conversion type is specified using a flag,
705 <command>gxl2dot</command> will deduce the type of conversion from
706 the suffix of the input file, a
707 <filename class='extension'>.dot</filename> suffix causing a
708 conversion from DOT to GXL, and a
709 <filename class='extension'>.gxl</filename> suffix causing a
710 conversion from GXL to DOT.
711 </para>
712 <indexterm zone="graphviz gxl2dot">
713 <primary sortas="b-gxl2dot">gxl2dot</primary>
714 </indexterm>
715 </listitem>
716 </varlistentry>
717
718 <varlistentry id="gxl2gv">
719 <term><command>gxl2gv</command></term>
720 <listitem>
721 <para>
722 converts between graphs represented in GXL and in
723 the GV language.
724 </para>
725 <indexterm zone="graphviz gxl2gv">
726 <primary sortas="b-gxl2gv">gxl2gv</primary>
727 </indexterm>
728 </listitem>
729 </varlistentry>
730
731 <varlistentry id="lefty">
732 <term><command>lefty</command></term>
733 <listitem>
734 <para>
735 is a two-view graphics editor for technical pictures.
736 </para>
737 <indexterm zone="graphviz lefty">
738 <primary sortas="b-lefty">lefty</primary>
739 </indexterm>
740 </listitem>
741 </varlistentry>
742
743 <varlistentry id="lneato">
744 <term><command>lneato</command></term>
745 <listitem>
746 <para>
747 is a graph editor for the X Window System. It may be run as a
748 standalone editor, or as a front end for applications that use
749 graphs. It can control multiple windows viewing different graphs.
750 </para>
751 <indexterm zone="graphviz lneato">
752 <primary sortas="b-lneato">lneato</primary>
753 </indexterm>
754 </listitem>
755 </varlistentry>
756
757 <varlistentry id="mm2gv">
758 <term><command>mm2gv</command></term>
759 <listitem>
760 <para>
761 converts a sparse matrix of the Matrix Market format
762 to a graph in the GV (formerly DOT) format.
763 </para>
764 <indexterm zone="graphviz mm2gv">
765 <primary sortas="b-mm2gv">mm2gv</primary>
766 </indexterm>
767 </listitem>
768 </varlistentry>
769
770 <varlistentry id="neato">
771 <term><command>neato</command></term>
772 <listitem>
773 <para>
774 draws undirected graphs using <quote>spring</quote> models. Input
775 files must be formatted in the <command>dot</command> attributed
776 graph language. By default, the output of <command>neato</command>
777 is the input graph with layout coordinates appended.
778 </para>
779 <indexterm zone="graphviz neato">
780 <primary sortas="b-neato">neato</primary>
781 </indexterm>
782 </listitem>
783 </varlistentry>
784
785 <varlistentry id="nop">
786 <term><command>nop</command></term>
787 <listitem>
788 <para>
789 reads a stream of graphs and prints each in pretty-printed (canonical)
790 format on stdout. If no files are given, it reads from stdin.
791 </para>
792 <indexterm zone="graphviz nop">
793 <primary sortas="b-nop">nop</primary>
794 </indexterm>
795 </listitem>
796 </varlistentry>
797
798 <varlistentry id="osage">
799 <term><command>osage</command></term>
800 <listitem>
801 <para>
802 draws clustered graphs. As input, it takes any
803 graph in the DOT format.
804 </para>
805 <indexterm zone="graphviz osage">
806 <primary sortas="b-osage">osage</primary>
807 </indexterm>
808 </listitem>
809 </varlistentry>
810
811 <varlistentry id="patchwork">
812 <term><command>patchwork</command></term>
813 <listitem>
814 <para>
815 draws clustered graphs using a squarified treemap layout.
816 As input, it takes any graph in the DOT format.
817 </para>
818 <indexterm zone="graphviz patchwork">
819 <primary sortas="b-patchwork">patchwork</primary>
820 </indexterm>
821 </listitem>
822 </varlistentry>
823
824 <varlistentry id="prune">
825 <term><command>prune</command></term>
826 <listitem>
827 <para>
828 reads directed graphs in the same format used by
829 <command>dot</command> and removes subgraphs rooted at nodes
830 specified on the command line via options.
831 </para>
832 <indexterm zone="graphviz prune">
833 <primary sortas="b-prune">prune</primary>
834 </indexterm>
835 </listitem>
836 </varlistentry>
837
838 <varlistentry id="sccmap">
839 <term><command>sccmap</command></term>
840 <listitem>
841 <para>
842 decomposes digraphs into strongly connected components and an
843 auxiliary map of the relationship between components. In this map,
844 each component is collapsed into a node. The resulting graphs are
845 printed to stdout.
846 </para>
847 <indexterm zone="graphviz sccmap">
848 <primary sortas="b-sccmap">sccmap</primary>
849 </indexterm>
850 </listitem>
851 </varlistentry>
852
853 <varlistentry id="sfdp">
854 <term><command>sfdp</command></term>
855 <listitem>
856 <para>
857 draws undirected graphs using the <quote>spring</quote> model,
858 but it uses a multi-scale approach to produce layouts of large
859 graphs in a reasonably short time.
860 </para>
861 <indexterm zone="graphviz sfdp">
862 <primary sortas="b-sfdp">sfdp</primary>
863 </indexterm>
864 </listitem>
865 </varlistentry>
866
867 <varlistentry id="tred">
868 <term><command>tred</command></term>
869 <listitem>
870 <para>
871 computes the transitive reduction of directed graphs, and
872 prints the resulting graphs to standard output. This removes edges
873 implied by transitivity. Nodes and subgraphs are not otherwise
874 affected.
875 </para>
876 <indexterm zone="graphviz tred">
877 <primary sortas="b-tred">tred</primary>
878 </indexterm>
879 </listitem>
880 </varlistentry>
881
882 <varlistentry id="twopi">
883 <term><command>twopi</command></term>
884 <listitem>
885 <para>
886 draws graphs using a radial layout. Basically, one node is
887 chosen as the center and put at the origin. The remaining nodes are
888 placed on a sequence of concentric circles centered about the origin,
889 each a fixed radial distance from the previous circle.
890 </para>
891 <indexterm zone="graphviz twopi">
892 <primary sortas="b-twopi">twopi</primary>
893 </indexterm>
894 </listitem>
895 </varlistentry>
896
897 <varlistentry id="unflatten">
898 <term><command>unflatten</command></term>
899 <listitem>
900 <para>
901 is a preprocessor to <command>dot</command> that is used to
902 improve the aspect ratio of graphs having many leaves or disconnected
903 nodes. The usual layout for such a graph is generally very wide or tall.
904 </para>
905 <indexterm zone="graphviz unflatten">
906 <primary sortas="b-unflatten">unflatten</primary>
907 </indexterm>
908 </listitem>
909 </varlistentry>
910
911 <varlistentry id="vimdot">
912 <term><command>vimdot</command></term>
913 <listitem>
914 <para>
915 is a simple script which launches the <command>gvim</command>
916 or <command>vim</command> editor along with a GUI window
917 showing the <command>dot</command> output of the edited file.
918 </para>
919 <indexterm zone="graphviz vimdot">
920 <primary sortas="b-vimdot">vimdot</primary>
921 </indexterm>
922 </listitem>
923 </varlistentry>
924
925 <varlistentry id="libcdt">
926 <term><filename class="libraryfile">libcdt.so</filename></term>
927 <listitem>
928 <para>
929 manages run-time dictionaries using standard container data
930 types: unordered set/multiset, ordered set/multiset, list, stack,
931 and queue.
932 </para>
933 <indexterm zone="graphviz libcdt">
934 <primary sortas="c-libcdt">libcdt.so</primary>
935 </indexterm>
936 </listitem>
937 </varlistentry>
938
939 <varlistentry id="libcgraph">
940 <term><filename class="libraryfile">libcgraph.so</filename></term>
941 <listitem>
942 <para>
943 supports graph programming by maintaining graphs in memory and
944 reading and writing graph files. Graphs are composed of nodes,
945 edges, and nested subgraphs.
946 </para>
947 <indexterm zone="graphviz libcgraph">
948 <primary sortas="c-libcgraph">libcgraph.so</primary>
949 </indexterm>
950 </listitem>
951 </varlistentry>
952
953 <varlistentry id="libgvc">
954 <term><filename class="libraryfile">libgvc.so</filename></term>
955 <listitem>
956 <para>
957 provides a context for applications wishing to manipulate
958 and render graphs. It provides a command line parsing,
959 common rendering code, and a plugin mechanism for renderers.
960 </para>
961 <indexterm zone="graphviz libgvc">
962 <primary sortas="c-libgvc">libgvc.so</primary>
963 </indexterm>
964 </listitem>
965 </varlistentry>
966
967 <varlistentry id="libpathplan">
968 <term><filename class="libraryfile">libpathplan.so</filename></term>
969 <listitem>
970 <para>
971 contains functions to find the shortest path between two points
972 in a simple polygon.
973 </para>
974 <indexterm zone="graphviz libpathplan">
975 <primary sortas="c-libpathplan">libpathplan.so</primary>
976 </indexterm>
977 </listitem>
978 </varlistentry>
979
980 <varlistentry id="libxdot">
981 <term><filename class="libraryfile">libxdot.so</filename></term>
982 <listitem>
983 <para>
984 provides support for parsing and deparsing graphical
985 operations specificed by the xdot language.
986 </para>
987 <indexterm zone="graphviz libxdot">
988 <primary sortas="c-libxdot">libxdot.so</primary>
989 </indexterm>
990 </listitem>
991 </varlistentry>
992
993 </variablelist>
994
995 </sect2>
996
997</sect1>
Note: See TracBrowser for help on using the repository browser.