The graph miner tool enables interactive exploration of player relationships. Several weighted graphs can be visualized at once. The players, represented the vertices of the graph, can be filtered and sorted using JavaScript expressions. The relationship graphs connect players pairwise. Edges can be filtered and their weight can be set by custom JavaScript expressions also.

graphminer

Try the interactive demo or download the source code.

Manual

Works best with Chrome. Use Enter to update the Graph after changing options.

Graph Definition

The graph is defined in data/graph.json.js. The nodes are defined as graph.node.id = {id: id}. Additional properties can be defined at will. Edge groups are defined as graph.edge.groupName = g. They are represented as sparse weighted adjacency matrix: g[idSrc][idDst] = weight.

Player Node Properties

The following properties are available for player nodes

Expressions

The fields Filter, Sort, Label and Width accept JavaScript expressions. Depending on context, a node object n or a value v can be accessed.

In addition to standard JavaScript functions, some helper functions are available:

Node Options

Filter

Expression to decide if a node is displayed (true) or not (false). The current node object can be accessed over the variable n.

Example To show all players active for more than one hour, enter n.tActive > 60*60.

Sort

JavaScript expression returning either a string or a number which is used to sort the nodes. The current node object can be accessed over the variable n.

Example To sort the nodes by name, enter n.name.

Label

JavaScript expression returning the content for the node label. The current node object can be accessed over the variable n.

Example To show player names, enter n.name.

Edge Options

Edge groups can be hidden using the checkboxes in the edge group list. To access a edge group options, use the "options" button. Push it again to hide the options.

Filter

Expression to decide if a edge is displayed (true) or not (false). The weight of the current edge can be accessed over the variable v.

Example To only show edges with weights over 9000, enter v > 9000.

Width

Expression returning the with of the line representing the edge. The weight of the current edge can be accessed over the variable v.

Example To use a logarithmic scale, enter Math.log(v/100)*2.

Helpers

Config

JSON string containing the current options. Can be copy/pasted and saved elsewhere.