hypercube.1 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. .TH HYPERCUBE 1 "2014-02-14" "1.6.0"
  2. .SH NAME
  3. Hypercube \- Graph visualization tool
  4. .SH SYNOPSIS
  5. .B hypercube\-cli
  6. .RI [ OPTIONS ]
  7. .I FILE
  8. .br
  9. .B hypercube
  10. .RI [ FILE... ]
  11. .SH DESCRIPTION
  12. Hypercube draws text based graph representations as vector images. A simulated
  13. annealing based algorithm allowing layout parametrization is used to lay out
  14. the graph.
  15. .B hypercube-cli
  16. is a command line utility version of Hypercube,
  17. .B hypercube
  18. a GUI application.
  19. .PP
  20. Graphs can be represented as DOT files, GML files, GraphML files, GXL files,
  21. edge lists or adjancency matrixes and can be visualized to SVG or EPS images.
  22. For info on the file formats, see the
  23. .B INPUT FORMATS
  24. section.
  25. .SH OPTIONS
  26. .SS "Generic Program Information"
  27. .TP
  28. .BR \-h
  29. Print a short usage info and exit.
  30. .TP
  31. .BR \-v
  32. Print the program version and exit.
  33. .SS "Input and Output Control"
  34. .TP
  35. .BI \-o " FILE"
  36. Set output file to
  37. .IR FILE .
  38. If no output file name is set, it is generated from the input file by replacing
  39. its suffix with the output format suffix.
  40. .TP
  41. .BI \-f " FORMAT"
  42. Set output format to
  43. .IR FORMAT .
  44. Supported formats are
  45. .B svg
  46. and
  47. .BR eps .
  48. Default format is svg.
  49. .TP
  50. .BI \-e " ENCODING"
  51. Set input file encoding to
  52. .IR ENCODING .
  53. Supported encodings are
  54. .B iso\-8859\-1\fR, \fPiso\-8859\-2\fR, \fPiso\-8859\-5\fR,
  55. .B iso\-8859\-7\fR, \fPwindows\-1250\fR, \fPwindows\-1251\fR,
  56. .B windows\-1252\fR, \fPwindows\-1253\fR, \fPkoi8\-r\fR, \fPkoi8\-u\fR
  57. and
  58. .BR utf\-8 .
  59. Default encoding is iso\-8859\-1.
  60. .TP
  61. .BI \-va " ATTRIBUTE"
  62. Use vertex
  63. .IR ATTRIBUTE
  64. for vertex labels. Usable only with file formats, that support vertex
  65. attributes. If no attribute is set, the first available attribute is used.
  66. .TP
  67. .BI \-ea " ATTRIBUTE"
  68. Use edge
  69. .IR ATTRIBUTE
  70. for edge labels. Usable only with file formats, that support edge attributes.
  71. If no attribute is set, the first available attribute is used.
  72. .SS "Graph Appearance"
  73. .TP
  74. .BI \-s " SIZE"
  75. Set image size to
  76. .IR SIZE .
  77. The image size is expected as
  78. .BR width,height .
  79. .TP
  80. .BR \-d
  81. Directed graph \- the graph edges are drawn as arrows displaying the edge
  82. orientation. If set, overrides the type given in the graph source file.
  83. .TP
  84. .BR \-u
  85. Undirected graph. If set, overrides the type given in the graph source file.
  86. .TP
  87. .BI \-vc " COLOR"
  88. Set vertex color to
  89. .IR COLOR .
  90. The color format is
  91. .BR #RRGGBB .
  92. .TP
  93. .BI \-ec " COLOR"
  94. Set edge color to
  95. .IR COLOR .
  96. The color format is
  97. .BR #RRGGBB .
  98. .TP
  99. .BI \-vs " SIZE"
  100. Set vertex size to
  101. .IR SIZE .
  102. .TP
  103. .BI \-es " SIZE"
  104. Set edge size to
  105. .IR SIZE .
  106. .TP
  107. .BI \-vf " SIZE"
  108. Set vertex ID font size to
  109. .IR SIZE .
  110. To disable showing vertex IDs, set their font size to 0.
  111. .TP
  112. .BI \-ef " SIZE"
  113. Set edge value font size to
  114. .IR SIZE .
  115. To disable showing edge values, set their font size to 0.
  116. .TP
  117. .BR \-c
  118. Colorize graph. Asign a unique color to every uniqe edge value. When this option
  119. is set, the
  120. .B \-ec
  121. option is ommited.
  122. .TP
  123. .BI \-l " SIZE"
  124. Show edge color legend with font size
  125. .IR SIZE .
  126. Implies the
  127. .B \-c
  128. option.
  129. .PP
  130. All sizes are given in output format units \- pixels for SVG and points for EPS.
  131. .SS "Graph Layout"
  132. .TP
  133. .BI \-nd " DIST"
  134. Set node distribution factor to
  135. .IR DIST .
  136. .TP
  137. .BI \-el " LENGTH"
  138. Set edge length factor to
  139. .IR LENGTH .
  140. .TP
  141. .BI \-cr " CROSSINGS"
  142. Set edge crossings factor to
  143. .IR CROSSINGS .
  144. .SS "Algorithm Settings"
  145. .TP
  146. .BI \-it " TEMP"
  147. Set initial temerature to
  148. .IR TEMP .
  149. .TP
  150. .BI \-ft " TEMP"
  151. Set final temerature to
  152. .IR TEMP .
  153. .TP
  154. .BI \-cf " FACTOR"
  155. Set cooling factor to
  156. .IR FACTOR .
  157. .TP
  158. .BI \-ns " STEPS"
  159. Set number of iteration steps to
  160. .IR STEPS .
  161. .SH "INPUT FORMATS"
  162. .SS "DOT"
  163. DOT file format as described in the official Graphviz documentation. Hypercube
  164. parses the complete language, but the only used attribute is the label attribute
  165. (for both edges and nodes).
  166. .PP
  167. .nf
  168. Digraph {
  169. 0 -> 1 [label = 1];
  170. 0 -> 3 [label = 2];
  171. 0 -> 5 [label = 3];
  172. 1 -> 2 [label = 4];
  173. 1 -> 6 [label = 5];
  174. 2 -> 3 [label = 6];
  175. 2 -> 7 [label = 7];
  176. 3 -> 4 [label = 8];
  177. 4 -> 5 [label = 9];
  178. 4 -> 7 [label = 10];
  179. 5 -> 6 [label = 11];
  180. 6 -> 7 [label = 12];
  181. }
  182. .fi
  183. .SS "GML"
  184. GML file format as described in the official documentation. The attributes
  185. (keys) used for vertex/edge labels can be set using the
  186. .B \-va
  187. and
  188. .B \-ea
  189. parameters.
  190. .PP
  191. .nf
  192. graph [
  193. directed 1
  194. node [id 0]
  195. node [id 1]
  196. node [id 2]
  197. node [id 3]
  198. node [id 4]
  199. node [id 5]
  200. node [id 6]
  201. node [id 7]
  202. edge [label "1" source 0 target 1]
  203. edge [label "2" source 0 target 3]
  204. edge [label "3" source 0 target 5]
  205. edge [label "4" source 1 target 2]
  206. edge [label "5" source 1 target 6]
  207. edge [label "6" source 2 target 3]
  208. edge [label "7" source 2 target 7]
  209. edge [label "8" source 3 target 4]
  210. edge [label "9" source 4 target 5]
  211. edge [label "10" source 4 target 7]
  212. edge [label "11" source 5 target 6]
  213. edge [label "12" source 6 target 7]
  214. ]
  215. .fi
  216. .SS "GraphML"
  217. GraphML file format as given by the specification. Hypercube does not support
  218. nested graphs, hyperedges and ports. The attributes (data elements) used for the
  219. vertex/edge labels can be set using the
  220. .B \-va
  221. and
  222. .B \-ea
  223. parameters. If there is no appropriate attribute, the vertex/edge id is used as
  224. the label.
  225. .PP
  226. The input encoding is always taken from the xml declaration (with UTF\-8 as the
  227. default), setting the encoding using the
  228. .B \-e
  229. parameter is pointless for GraphML files.
  230. .PP
  231. .nf
  232. <?xml version="1.0" encoding="UTF-8"?>
  233. <graphml xmlns="http://graphml.graphdrawing.org/xmlns"
  234. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  235. xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
  236. http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
  237. <graph id="G" edgedefault="directed">
  238. <node id="0"/>
  239. <node id="1"/>
  240. <node id="2"/>
  241. <node id="3"/>
  242. <node id="4"/>
  243. <node id="5"/>
  244. <node id="6"/>
  245. <node id="7"/>
  246. <edge source="0" target="1" id="1"/>
  247. <edge source="0" target="3" id="2"/>
  248. <edge source="0" target="5" id="3"/>
  249. <edge source="1" target="2" id="4"/>
  250. <edge source="1" target="6" id="5"/>
  251. <edge source="2" target="3" id="6"/>
  252. <edge source="2" target="7" id="7"/>
  253. <edge source="3" target="4" id="8"/>
  254. <edge source="4" target="5" id="9"/>
  255. <edge source="4" target="7" id="10"/>
  256. <edge source="5" target="6" id="11"/>
  257. <edge source="6" target="7" id="12"/>
  258. </graph>
  259. </graphml>
  260. .fi
  261. .SS "GXL"
  262. GXL file format as given by the specification. Hypercube does not support
  263. hypergraphs, hyperedges and mixed graphs. The attributes used for the
  264. vertex/edge labels can be set using the
  265. .B \-va
  266. and
  267. .B \-ea
  268. parameters. If there is no appropriate attribute, the vertex/edge id is used as
  269. the label. Composite attribute types (seq, set, bag and tup) are serialized by
  270. hypercube into a single string (comma delimited), the locator attribute type is
  271. not supported.
  272. .PP
  273. The input encoding is always taken from the xml declaration (with UTF\-8 as the
  274. default), setting the encoding using the
  275. .B \-e
  276. parameter is pointless for GXL files.
  277. .PP
  278. .nf
  279. <?xml version="1.0" encoding="UTF-8"?>
  280. <!DOCTYPE gxl SYSTEM "http://www.gupro.de/GXL/gxl-1.0.dtd">
  281. <gxl>
  282. <graph>
  283. <node id="0"/>
  284. <node id="1"/>
  285. <node id="2"/>
  286. <node id="3"/>
  287. <node id="4"/>
  288. <node id="5"/>
  289. <node id="6"/>
  290. <node id="7"/>
  291. <edge from="0" to="1" id="1"/>
  292. <edge from="0" to="3" id="2"/>
  293. <edge from="0" to="5" id="3"/>
  294. <edge from="1" to="2" id="4"/>
  295. <edge from="1" to="6" id="5"/>
  296. <edge from="2" to="3" id="6"/>
  297. <edge from="2" to="7" id="7"/>
  298. <edge from="3" to="4" id="8"/>
  299. <edge from="4" to="5" id="9"/>
  300. <edge from="4" to="7" id="10"/>
  301. <edge from="5" to="6" id="11"/>
  302. <edge from="6" to="7" id="12"/>
  303. </graph>
  304. </gxl>
  305. .fi
  306. .SS "Edge list"
  307. Each line of the input file represents an edge entry. The first value is the
  308. edge's start vertex ID, the second value the end vertex ID and the optional
  309. third value is the edge label (value). The values are strings separated by an
  310. arbitrary amount of whitespace. Quoted strings can be used, if whitespace
  311. occurs in the value.
  312. .PP
  313. .nf
  314. 0 1 1
  315. 0 3 2
  316. 0 5 3
  317. 1 2 4
  318. 1 6 5
  319. 2 3 6
  320. 2 7 7
  321. 3 4 8
  322. 4 5 9
  323. 4 7 10
  324. 5 6 11
  325. 6 7 12
  326. .fi
  327. .SS "Adjacency matrix"
  328. The adjacency matrix representation starts with a single number on a separate
  329. line representing the number of vertexes of the graph. Starting with the next
  330. line, the adjacency matrix itself follows. Numbers greater than 0 are taken as
  331. edges with the given edge value.
  332. .PP
  333. .nf
  334. 8
  335. 0 1 0 2 0 3 0 0
  336. 0 0 4 0 0 0 5 0
  337. 0 0 0 6 0 0 0 7
  338. 0 0 0 0 8 0 0 0
  339. 0 0 0 0 0 9 0 10
  340. 0 0 0 0 0 0 11 0
  341. 0 0 0 0 0 0 0 12
  342. 0 0 0 0 0 0 0 0
  343. .fi
  344. .SH SEE ALSO
  345. dot(1), eps2pdf(1), convert(1)
  346. .SH AUTHOR
  347. Martin Tuma (tumic@cbox.cz)