Awesome
#GvRank
##Usage
gvrank <inputfile>
or
gvrank <inputfile> verbose
or
gvrank <inputfile> -dot
The first version of the command will return output that looks like this:
Dragon: 20.68%
Rock: 8.04%
Grass: 7.54%
Psychic: 6.23%
Fighting: 5.93%
Ice: 5.60%
Bug: 4.86%
Ghost: 4.85%
Flying: 4.52%
Fire: 4.41%
Dark: 4.38%
Poison: 4.28%
Ground: 4.13%
Fairy: 3.76%
Water: 3.76%
Steel: 3.57%
Normal: 1.84%
Electric: 1.63%
The higher the percentage, the more likely it is that any chain of relationships will end with or include that node.
The "verbose" version of the command will show you all the steps leading up to the final result. It is quite verbose, so be ready for lots of text.
The "-dot" version of the command won't output percentages to the screen. Instead, it will create a new version of your input file (with ".ranked" appended to the file name), and adds the percentages to the names of the nodes. For example:
pokemon.gv
digraph G {
start = true;
dimen = 3;
sep="+20";
overlap = false;
center = true;
splines = true;
concentrate = true;
/* Domination Cycle*/
edge[color = "firebrick4", len = 0.1]
Fighting -> Rock;
Fighting -> Dark;
Flying -> Fighting;
Poison -> Grass;
Ground -> Poison;
Rock -> Flying;
Rock -> Fire;
Steel -> Rock;
Fire -> Steel;
Fire -> Grass;
Water -> Fire;
Grass -> Ground;
Grass -> Water;
Psychic -> Fighting;
Dark -> Psychic;
/* Dominates */
edge[color = "black", len = 2]
Poison -> Fairy
Flying -> Bug
Flying -> Grass
Ground -> Rock
Ground -> Electric
Bug -> Grass
Steel -> Ice
Steel -> Fairy
Fire -> Bug
Fire -> Ice
Electric -> Flying
Dark -> Ghost
Fairy -> Fighting
Fairy -> Dragon
Fairy -> Dark
/* Strong Against */
edge[style=dashed, len=2]
Fighting -> Normal;
Fighting -> Steel;
Fighting -> Ice;
Ground -> Steel;
Ground -> Fire;
Rock -> Bug;
Rock -> Ice;
Bug -> Psychic;
Bug -> Dark;
Ghost -> Ghost;
Ghost -> Psychic;
Water -> Ground;
Water -> Rock;
Grass -> Rock;
Electric -> Water;
Psychic -> Poison;
Ice -> Flying;
Ice -> Rock;
Ice -> Grass;
Ice -> Dragon;
Dragon -> Dragon;
}
becomes:
pokemon.gv.ranked
digraph G {
Fighting [label = "Fighting: 5.93%"]
Poison [label = "Poison: 4.28%"]
Water [label = "Water: 3.76%"]
Electric [label = "Electric: 1.63%"]
Ghost [label = "Ghost: 4.85%"]
Flying [label = "Flying: 4.52%"]
Grass [label = "Grass: 7.54%"]
Fire [label = "Fire: 4.41%"]
Steel [label = "Steel: 3.57%"]
Fairy [label = "Fairy: 3.76%"]
Ice [label = "Ice: 5.60%"]
Normal [label = "Normal: 1.84%"]
Rock [label = "Rock: 8.04%"]
Dark [label = "Dark: 4.38%"]
Ground [label = "Ground: 4.13%"]
Bug [label = "Bug: 4.86%"]
Psychic [label = "Psychic: 6.23%"]
Dragon [label = "Dragon: 20.68%"]
start = true;
dimen = 3;
sep="+20";
overlap = false;
center = true;
splines = true;
concentrate = true;
/* Domination Cycle*/
edge[color = "firebrick4", len = 0.1]
Fighting -> Rock;
Fighting -> Dark;
Flying -> Fighting;
Poison -> Grass;
Ground -> Poison;
Rock -> Flying;
Rock -> Fire;
Steel -> Rock;
Fire -> Steel;
Fire -> Grass;
Water -> Fire;
Grass -> Ground;
Grass -> Water;
Psychic -> Fighting;
Dark -> Psychic;
/* Dominates */
edge[color = "black", len = 2]
Poison -> Fairy
Flying -> Bug
Flying -> Grass
Ground -> Rock
Ground -> Electric
Bug -> Grass
Steel -> Ice
Steel -> Fairy
Fire -> Bug
Fire -> Ice
Electric -> Flying
Dark -> Ghost
Fairy -> Fighting
Fairy -> Dragon
Fairy -> Dark
/* Strong Against */
edge[style=dashed, len=2]
Fighting -> Normal;
Fighting -> Steel;
Fighting -> Ice;
Ground -> Steel;
Ground -> Fire;
Rock -> Bug;
Rock -> Ice;
Bug -> Psychic;
Bug -> Dark;
Ghost -> Ghost;
Ghost -> Psychic;
Water -> Ground;
Water -> Rock;
Grass -> Rock;
Electric -> Water;
Psychic -> Poison;
Ice -> Flying;
Ice -> Rock;
Ice -> Grass;
Ice -> Dragon;
Dragon -> Dragon;
}