Network - nodes

Handles the creation and deletion of nodes and contains the global node options and styles.

Options

This is a list of all the methods in the public API. They are collected here from all individual modules.

name type default description
borderWidth Number 1 The width of the border of the node.
borderWidthSelected Number undefined The width of the border of the node when it is selected. When undefined, the borderWidth is used
brokenImage String undefined When the shape is set to image or circularImage, this option can be an URL to a backup image in case the URL supplied in the image option cannot be resolved.
color Object/StringObject The color object contains the color information of the node in every situation. When the node only needs a single color, a color value like 'rgba(120,32,14,1)', '#ffffff' or 'red' can be supplied instead of an object.
color.border String '#2B7CE9' The color of the border of the node when it is not selected or hovered over (assuming hover is enabled in the interaction module).
color.background String '#D2E5FF' The color of the background of the node when it is not selected or hovered over (assuming hover is enabled in the interaction module).
color.highlight Object/StringObject The color the node when it is selected. Alternatively you can just supply a string color value.
color.highlight.borderString '#2B7CE9' The color of the border of the node when it is selected.
color.highlight.backgroundString '#D2E5FF' The color of the background of the node when it is selected.
color.hover Object/StringObject The color the node when the mouse hovers over it (assuming hover is enabled in the interaction module). Shorthand like above is also supported.
color.hover.border String '#2B7CE9' The color of the border of the node when the mouse hovers over it (assuming hover is enabled in the interaction module).
color.hover.background String '#D2E5FF' The color of the background of the node when the mouse hovers over it (assuming hover is enabled in the interaction module).
fixed Object | BooleanObject When true, the node will not move but IS part of the physics simulation. When defined as an object, movement in either X or Y direction can be disabled.
fixed.x Boolean false When true, the node will not move in the X direction.
fixed.y Boolean false When true, the node will not move in the Y direction.
font Object | Stringfalse This object defines the details of the label. A shorthand is also supported in the form 'size face color' for example: '14px arial red'.
font.color String '#343434' Color of the label text.
font.size Number 14 Size of the label text.
font.face String 'arial' Font face (or font family) of the label text.
font.background String undefined When not undefined but a color string, a background rectangle will be drawn behind the label in the supplied color.
font.stroke Number 0 As an alternative to the background rectangle, a stroke can be drawn around the text. When a value higher than 0 is supplied, the stroke will be drawn.
font.strokeColor String '#ffffff' This is the color of the stroke assuming the value for stroke is higher than 0.
group String undefined When not undefined, the
hidden Boolean false When true, the node will not be shown. It will still be part of the physics simulation though!
icon.face String 'FontAwesome'These options are only used when the shape is set to icon. The possible options for the face are: 'FontAwesome' and 'Ionicons'.
icon.code String undefined This is the code of the icon, for example '\uf007'.
icon.size Number 50 The size of the icon.
icon.color String '#2B7CE9' The color of the icon.
image String undefined When the shape is set to image or circularImage, this option should be the URL to an image. If the image cannot be found, the brokenImage option can be used.
label String undefined The label is the piece of text shown in or under the node, depending on the shape.
level Number undefined When using the hierarchical layout, the level determines where the node is going to be positioned.
mass Number 1 The barnesHut physics model (which is enabled by default) is based on an inverted gravity model. By increasing the mass of a node, you increase it's repulsion. Values lower than 1 are not recommended.
physics Boolean true When false, the node is not part of the physics simulation. It will not move except for from manual dragging.
scaling Object Object If the value option is specified, the size of the nodes will be scaled according to the properties in this object. All node shapes can be scaled, but some only when label scaling is enabled as their size is based on the size of the label. Only scalable when label scaling is enabled are: ellipse, circle, database, box, text. Always scalable are: image, circularImage, diamond, dot, star, triangle, triangleDown, square and icon. Keep in mind that when using scaling, the size options is neglected.
scaling.min Number 10 If nodes have a value, their sizes are determined by the value, the scaling function and the min max values. The min value is the minimum allowed value.
scaling.max Number 30 This is the maximum allowed size when the nodes are scaled using the value option.
scaling.label Object | BooleanObjectThis can be false if the label is not allowed to scale with the node. If true it will scale using default settigns. For further customization, you can supply an object.
scaling.label.enabled Boolean false Toggle the scaling of the label on or off. If this option is not defined, it is set to true if any of the properties in this object are defined.
scaling.label.min Number 14 The minimum font-size used for labels when scaling.
scaling.label.max Number 30 The maximum font-size used for labels when scaling.
scaling.label.maxVisibleNumber 30 When zooming in, the font is drawn larger as well. You can limit the perceived font size using this option. If set to 30, the font will never look larger than size 30 zoomed at 100%.
scaling.label.drawThresholdNumber 3 When zooming out, the font will be drawn smaller. This defines a lower limit for when the font is drawn. When using font scaling, you can use this together with the maxVisible to first show labels of important nodes when zoomed out and only show the rest when zooming in.
scaling.customScalingFunction Function in description If nodes have value fields, this function determines how the size of the nodes are scaled based on their values. The default function is:
function (min,max,total,value) {
  if (max === min) {
    return 0.5;
  }
  else {
    var scale = 1 / (max - min);
    return Math.max(0,(value - min)*scale);
  }
}
The function receives the minimum value of the set, the maximum value, the total sum of all values and finally the value of the node or edge it works on. It has to return a value between 0 and 1. The nodes and edges then calculate their size as follows:
var scale = customScalingFunction(min,max,total,value);
var diff = maxSize - minSize;
mySize = minSize + diff * scale;
shadow Object | Boolean ObjectWhen true, the node casts a shadow using the default settings. This can be further refined by supplying an object.
shadow.enabled Boolean false Toggle the casting of shadows. If this option is not defined, it is set to true if any of the properties in this object are defined.
shadow.size Number 10 The blur size of the shadow.
shadow.x Number 5 The x offset.
shadow.y Number 5 The y offset.
shape String 'ellipse' The shape defines what the node looks like. There are two types of nodes. One type has the label inside of it and the other type has the label underneath it. The types with the label inside of it are: ellipse, circle, database, box, text. The ones with the label outside of it are: image, circularImage, diamond, dot, star, triangle, triangleDown, square and icon.
size Number 25 The size is used to determine the size of node shapes that do not have the label inside of them. These shapes are: image, circularImage, diamond, dot, star, triangle, triangleDown, square and icon
title String | Element undefined Title to be displayed when the user hovers over the node. The title can be an HTML element or a string containing plain text or HTML.
value Number undefined When a value is set, the nodes will be scaled using the options in the scaling object defined above.
x Number undefined This gives a node an initial x position. When using the hierarchical layout, either the x or y position is set by the layout engine depending on the type of view. The other value remains untouched. When using stabilization, the stabilized position may be different from the initial one. To lock the node to that position use the physics or fixed options.
y Number undefined This gives a node an initial y position. When using the hierarchical layout, either the x or y position is set by the layout engine depending on the type of view. The other value remains untouched. When using stabilization, the stabilized position may be different from the initial one. To lock the node to that position use the physics or fixed options.

Methods

The nodes module has no methods.

Events

The nodes module emits no events. Click and select events are emitted from the interaction and selection modules.