File: sample17.rb

package info (click to toggle)
ruby-graphviz 1.0.8-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,124 kB
  • ctags: 695
  • sloc: ruby: 7,656; xml: 26; makefile: 17
file content (92 lines) | stat: -rw-r--r-- 2,936 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/ruby

$:.unshift( "../lib" );
require "graphviz"

GraphViz::new( "G", :type => "graph", :rankdir => "LR", :bgcolor => "#808080" ) { |graph|
  graph.edge[:dir] = "none"

  graph.node[:width] = "0.3"
  graph.node[:height] = "0.3"
  graph.node[:label] = ""

  _ = {}

  ("1".."8").each do |v|
    _[v] = graph.add_nodes( v, :shape => "circle", :style => "invis")
  end
  ["10","20","30","40","50","60","70","80"].each do |v|
    _[v] = graph.add_nodes( v, :shape => "circle", :style => "invis")
  end

  ("a".."x").each do |v|
    _[v] = graph.add_nodes( v, :shape => "circle")
  end

  ("A".."X").each do |v|
    _[v] = graph.add_nodes( v, :shape => "diamond")
  end

  (_["1"] << _["a"])[:color]="#0000ff"
  (_["a"] << _["A"])[:color]="#0000ff"
  (_["a"] << _["B"])[:color]="#0000ff"
  (_["2"] << _["b"])[:color]="#ff0000"
  (_["b"] << _["B"])[:color]="#ff0000"
  (_["b"] << _["A"])[:color]="#ff0000"
  (_["3"] << _["c"])[:color]="#ffff00"
  (_["c"] << _["C"])[:color]="#ffff00"
  (_["c"] << _["D"])[:color]="#ffff00"
  (_["4"] << _["d"])[:color]="#00ff00"
  (_["d"] << _["D"])[:color]="#00ff00"
  (_["d"] << _["C"])[:color]="#00ff00"
  (_["5"] << _["e"])[:color]="#000000"
  (_["e"] << _["E"])[:color]="#000000"
  (_["e"] << _["F"])[:color]="#000000"
  (_["6"] << _["f"])[:color]="#00ffff"
  (_["f"] << _["F"])[:color]="#00ffff"
  (_["f"] << _["E"])[:color]="#00ffff"
  (_["7"] << _["g"])[:color]="#ffffff"
  (_["g"] << _["G"])[:color]="#ffffff"
  (_["g"] << _["H"])[:color]="#ffffff"
  (_["8"] << _["h"])[:color]="#ff00ff"
  (_["h"] << _["H"])[:color]="#ff00ff"
  (_["h"] << _["G"])[:color]="#ff00ff"

  graph.edge[:color]="#ff0000:#0000ff"
  _["A"] << _["i"]; _["i"] << [_["I"], _["K"]]
  _["B"] << _["j"]; _["j"] << [_["J"], _["L"]]

  graph.edge[:color]="#00ff00:#ffff00"
  _["C"] << _["k"]; _["k"] << [_["K"], _["I"]]
  _["D"] << _["l"]; _["l"] << [_["L"], _["J"]]

  graph.edge[:color]="#00ffff:#000000"
  _["E"] << _["m"]; _["m"] << [_["M"], _["O"]]
  _["F"] << _["n"]; _["n"] << [_["N"], _["P"]]

  graph.edge[:color]="#ff00ff:#ffffff"
  _["G"] << _["o"]; _["o"] << [_["O"], _["M"]]
  _["H"] << _["p"]; _["p"] << [_["P"], _["N"]]

  graph.edge[:color]="#00ff00:#ffff00:#ff0000:#0000ff"
  _["I"] << _["q"]; _["q"] << [_["Q"], _["U"]]
  _["J"] << _["r"]; _["r"] << [_["R"], _["V"]]
  _["K"] << _["s"]; _["s"] << [_["S"], _["W"]]
  _["L"] << _["t"]; _["t"] << [_["T"], _["X"]]

  graph.edge[:color]="#ff00ff:#ffffff:#00ffff:#000000"
  _["M"] << _["u"]; _["u"] << [_["U"], _["Q"]]
  _["N"] << _["v"]; _["v"] << [_["V"], _["R"]]
  _["O"] << _["w"]; _["w"] << [_["W"], _["S"]]
  _["P"] << _["x"]; _["x"] << [_["X"], _["T"]]

	graph.edge[:color]="#ff00ff:#ffffff:#00ffff:#000000:#00ff00:#ffff00:#ff0000:#0000ff"
	_["Q"] << _["10"]
	_["R"] << _["20"]
	_["S"] << _["30"]
	_["T"] << _["40"]
	_["U"] << _["50"]
	_["V"] << _["60"]
	_["W"] << _["70"]
	_["X"] << _["80"]
}.output( :path => '/usr/local/bin/', :png => "#{$0}.png" )