graph3d attributes
Network graph in a 3D scene: nodes as lit spheres or sprites and links as lines or tubes, at given positions or placed in space by a force layout or in planes by rank; hovered through GPU picking; every part is one draw call.
- Categories:
gl3d,symbols,showLegend,pie-like - Plotly equivalent:
graph3d - Guide: graph3d chart page
- Used in examples:
demos/repo-graphs/imports-3d,demos/repo-graphs/packages-3d,graph3d/basic,graph3d/force,graph3d/large,graph3d/layered,graph3d/links,graph3d/orbit,graph3d/preset,graph3d/sprites
Generated from the attribute schema (196 entries). Machine-readable: plot-schema.json.
Attribute tree
typevisiblenameuidshowlegendlegendlegendgrouphovertexthoverinfohovertemplateselectedpointslegendranklegendwidthopacitymetacustomdataidsdatasetuirevisionstyleRulesscenearrangementlabelsparentsnodelabelxyzsizesizebysizerangecolorcolorscaleautocolorscalereversescalecautocmincmaxcmidshowscalecolorbarorientationthicknessmodethicknesslenmodelenxxrefxanchorxpadyyrefyanchorypadoutlinecoloroutlinewidthbordercolorborderwidthbgcolortickmodentickstick0dticktickvalsticktextticksticklentickwidthtickcolorticklabelpositionticklabeloverflowticklabelstepshowticklabelstickangletickformattickprefixshowtickprefixticksuffixshowticksuffixseparatethousandsexponentformatminexponentshowexponent
coloraxisrendersymbolgroupcustomdataopacitytextpositionhoverinfohovertemplate
type string
Trace type, e.g. 'scatter'. Defaults to 'scatter'.
- Type:
string(non-empty) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
visible enumerated
Whether the trace is drawn. legendonly hides it but keeps its (toggleable) legend entry.
- Type:
enumerated - Values:
true|false|"legendonly" - Default:
true - Array OK: no
- Edit type:
calc - Animatable: no
name string
Trace name shown in the legend and hover labels. Defaults to trace N.
- Type:
string - Default: none
- Array OK: no
- Edit type:
legend+plot - Animatable: no
uid string
Stable identity used to match traces across updates, so reordered traces are moved instead of rebuilt.
- Type:
string - Default: none
- Array OK: no
- Edit type:
plot - Animatable: no
showlegend boolean
Whether this trace has a legend entry.
- Type:
boolean - Default:
true - Array OK: no
- Edit type:
legend+layout - Animatable: no
legend subplotid
The legend this trace's item is shown in: 'legend' (layout.legend), 'legend2' (layout.legend2), ….
- Type:
subplotid(legend,legend2,legend3, …) - Default:
"legend" - Array OK: no
- Edit type:
legend+layout - Animatable: no
legendgroup string
Traces in the same legend group toggle together.
- Type:
string - Default:
"" - Array OK: no
- Edit type:
legend - Animatable: no
hovertext string
Hover text per point; defaults to text.
- Type:
string - Default:
"" - Array OK: yes (one value per point)
- Edit type:
style - Animatable: no
hoverinfo flaglist
Hover of nodes and links: labels ('all'), events without labels ('none') or no hover at all ('skip'). The default of node.hoverinfo and link.hoverinfo.
- Type:
flaglist - Flags: (combine with
+) - Also accepts:
"all"|"none"|"skip" - Default:
"all" - Array OK: no
- Edit type:
none - Animatable: no
hovertemplate string
Template for hover labels, e.g. '%{x}: %{y:.2f}<extra></extra>' (d3-format / d3-time-format after : / |). Overrides hoverinfo.
- Type:
string - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
hoverlabel
Hover label style for this trace. Unset fields fall back to layout.hoverlabel (so there are no trace-level defaults).
- Type: object
- Edit type:
none
hoverlabel.bgcolor color
Label background. Default: the point color.
- Type:
color - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
hoverlabel.bordercolor color
Label border. Default: contrasting with the background.
- Type:
color - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
hoverlabel.font
Label font.
- Type: object
- Edit type:
none
hoverlabel.font.family string
Font family.
- Type:
string - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
hoverlabel.font.size number
Font size in px.
- Type:
number≥ 1 - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
hoverlabel.font.color color
Font color.
- Type:
color - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
hoverlabel.align enumerated
Text alignment inside labels.
- Type:
enumerated - Values:
"left"|"right"|"auto" - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
hoverlabel.namelength integer
Characters of the trace name shown (-1: all, 0: none).
- Type:
integer≥ -1 - Default: none
- Array OK: yes (one value per point)
- Edit type:
none - Animatable: no
selectedpoints any
Indices of the selected points (set by box/lasso selection, or programmatically). null clears the selection.
- Type:
any - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
legendrank number
Sort key for legend entries: lower ranks come first (top, or left). Ties keep trace order; traces default to 1000.
- Type:
number - Default:
1000 - Array OK: no
- Edit type:
legend - Animatable: no
legendwidth number
Width of this trace's item in horizontal legends, overriding legend.entrywidth (same units). Default: its text's.
- Type:
number≥ 0 - Default: none
- Array OK: no
- Edit type:
legend - Animatable: no
legendgrouptitle
Title of the legend group this trace belongs to.
- Type: object
- Edit type:
legend
legendgrouptitle.text string
Title heading this trace's legend group.
- Type:
string - Default:
"" - Array OK: no
- Edit type:
legend - Animatable: no
legendgrouptitle.font
Group title font. Unset fields come from legend.grouptitlefont.
- Type: object
- Edit type:
legend
legendgrouptitle.font.family string
Font family.
- Type:
string - Default: none
- Array OK: no
- Edit type:
legend - Animatable: no
legendgrouptitle.font.size number
Font size in px.
- Type:
number≥ 1 - Default: none
- Array OK: no
- Edit type:
legend - Animatable: no
legendgrouptitle.font.color color
Font color.
- Type:
color - Default: none
- Array OK: no
- Edit type:
legend - Animatable: no
legendgrouptitle.font.weight integer
Font weight: a CSS numeric weight (1–1000), normal or bold.
- Type:
integerfrom 1 to 1000, or"normal"|"bold" - Default: none
- Array OK: no
- Edit type:
legend - Animatable: no
legendgrouptitle.font.style enumerated
Font style.
- Type:
enumerated - Values:
"normal"|"italic" - Default: none
- Array OK: no
- Edit type:
legend - Animatable: no
opacity number
Opacity of the whole trace.
- Type:
numberfrom 0 to 1 - Default:
1 - Array OK: no
- Edit type:
style - Animatable: yes
meta any
Arbitrary user data, available in text templates as %{meta}.
- Type:
any - Default: none
- Array OK: yes (one value per point)
- Edit type:
plot - Animatable: no
customdata data_array
Per-point user data, returned in events and available in hover templates.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
ids data_array
Per-point ids used to match points across animation frames.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
dataset string
Name of a figure-level dataset (figure.datasets). Data arrays, and per-point attributes whose values cannot start with @ (such as colors and sizes), may then reference its columns as '@column'; on string attributes such as text, '@…' stays literal text.
- Type:
string(non-empty) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
uirevision any
While unchanged, user interaction state for this trace (legend visibility, selections) is kept across updates.
- Type:
any - Default: none
- Array OK: no
- Edit type:
none - Animatable: no
styleRules any
Conditional per-point styling as JSON (plan E8.5): [{ when: { y: { gt: 10 } }, set: { 'marker.color': 'gold' } }]. when tests fields of the point ('y', 'customdata[1]', 'pointNumber', …) with eq, ne, gt, gte, lt, lte, in, nin, between, regex, and, or and not; set gives per-point (arrayOk) attributes a value on the matching points. Later rules win; other points keep the trace's own value.
- Type:
any - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
scene subplotid
The 3D scene this trace is drawn in: 'scene' (layout.scene), 'scene2' (layout.scene2), ….
- Type:
subplotid(scene,scene2,scene3, …) - Default:
"scene" - Array OK: no
- Edit type:
calc - Animatable: no
arrangement enumerated
The layout that places the nodes in space. 'preset': at node.x / node.y / node.z, which are data on the scene's axes. 'force': a force-directed layout in three dimensions (force). 'layered': a directed graph in planes, one per rank, the nodes of a plane spread by the force layout (layered). 'custom': the layout named by custom.name, which returns z as well. The computed arrangements hide the scene's axes and keep the layout's proportions. Default: 'preset' when every node has an x, a y and a z, else 'force'.
- Type:
enumerated - Values:
"preset"|"force"|"layered"|"custom" - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
custom
The layout of arrangement: 'custom'.
- Type: object
- Edit type:
calc
custom.name string
With arrangement: 'custom': the name of a layout registered with registerGraphLayout(name, layout).
- Type:
string(non-empty) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
custom.options any
Passed to the custom layout as its second argument, as it is.
- Type:
any - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
labels data_array
Tree input, as the hierarchical traces take it: the label of every node. With parents (and no link.source), every node with a parent gets a link from its parent. The default of node.label.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
parents data_array
Tree input: the parent of every node, as its id (ids, else labels); '' for a root. A parent that is no node becomes a node of its own, after the others.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node
The nodes.
- Type: object
- Edit type:
calc
node.label data_array
Node labels, one per node index: drawn next to the node (see node.textposition) and shown in hover labels. Where labels would overlap on screen, the nodes with the most links keep theirs; turning the scene or moving closer shows others.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.x data_array
Node x positions. With arrangement: 'preset' they are data on the scene's x axis and a node without all three coordinates is not drawn. With a computed arrangement they are layout units: a node with x, y and z stays where it is, and one with some of them is held along those axes.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.y data_array
Node y positions (see node.x).
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.z data_array
Node z positions (see node.x).
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.size number
Node diameter in CSS px, or one per node. A sphere has that size at the middle of the scene in its first view (see node.render); a sprite has it everywhere. Ignored with node.sizeby.
- Type:
number≥ 0 - Default:
10 - Array OK: yes (one value per point)
- Edit type:
calc - Animatable: no
node.sizeby enumerated
Size nodes by their links instead of node.size: 'degree' (all links at the node), 'indegree' (links that end at it) or 'outdegree' (links that start at it). The area grows with the count, between the two diameters of node.sizerange.
- Type:
enumerated - Values:
"none"|"degree"|"indegree"|"outdegree" - Default:
"none" - Array OK: no
- Edit type:
calc - Animatable: no
node.sizerange info_array
With node.sizeby: the diameters in CSS px of a node without links and of the node with the most.
- Type:
info_array[number, number] - Default:
[6, 30] - Array OK: no
- Edit type:
calc - Animatable: no
node.color color
Node color, one CSS color per node, or numbers mapped through colorscale (with a colorbar when showscale is on). Default: the group's color when node.group is given (the colorway, one color per group), else the trace's colorway color.
- Type:
color - Default: none
- Array OK: yes (one value per point)
- Edit type:
style - Animatable: no
node.colorscale colorscale
Colorscale for numeric node.color values: a name ('Viridis', 'RdBu', …), a list of colors, or [position, color] stops from 0 to 1.
- Type:
colorscale - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.autocolorscale boolean
Pick the colorscale from the sign of the color domain (Reds for ≥ 0, Blues for ≤ 0, RdBu across 0). Defaults to true unless colorscale is given.
- Type:
boolean - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.reversescale boolean
Reverse the colorscale (the lowest value gets the last color).
- Type:
boolean - Default:
false - Array OK: no
- Edit type:
style - Animatable: no
node.cauto boolean
Compute the color domain from the numeric node.color values. Defaults to false when both cmin and cmax are given.
- Type:
boolean - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.cmin number
Value mapped to the first colorscale color (with cmax; turns cauto off).
- Type:
number - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.cmax number
Value mapped to the last colorscale color (with cmin; turns cauto off).
- Type:
number - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.cmid number
With cauto, widen the automatic domain so it is symmetric around this value (diverging data).
- Type:
number - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.showscale boolean
Show a colorbar for this colorscale (drawn by the colorbar component, plan E5.3).
- Type:
boolean - Default:
false - Array OK: no
- Edit type:
colorbars - Animatable: no
node.colorbar
The colorbar of this colorscale (plan E5.3).
- Type: object
- Edit type:
colorbars+layout
node.colorbar.orientation enumerated
Vertical bar (v, beside the plot) or horizontal bar (h, above or below).
- Type:
enumerated - Values:
"h"|"v" - Default:
"v" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.thicknessmode enumerated
Unit of thickness: px, or a fraction of the plot width (v) / height (h).
- Type:
enumerated - Values:
"fraction"|"pixels" - Default:
"pixels" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.thickness number
Thickness of the color bar.
- Type:
number≥ 0 - Default:
30 - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.lenmode enumerated
Unit of len: px, or a fraction of the plot height (v) / width (h).
- Type:
enumerated - Values:
"fraction"|"pixels" - Default:
"fraction" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.len number
Length of the colorbar along its axis, padding included (ypad / xpad).
- Type:
number≥ 0 - Default:
1 - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.x number
Horizontal position (xref fraction). Defaults to 1.02 (v, paper), 1 (v, container) or 0.5 (h).
- Type:
number - Default: none
- Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.xref enumerated
Reference of x: the plot area (paper) or the whole figure.
- Type:
enumerated - Values:
"container"|"paper" - Default:
"paper" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.xanchor enumerated
Which side of the colorbar sits at x. Defaults to left (v, paper), right (v, container) or center (h).
- Type:
enumerated - Values:
"left"|"center"|"right" - Default: none
- Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.xpad number
Horizontal padding, px.
- Type:
number≥ 0 - Default:
10 - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.y number
Vertical position (yref fraction). Defaults to 0.5 (v), 1.02 (h, paper) or 1 (h, container).
- Type:
number - Default: none
- Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.yref enumerated
Reference of y: the plot area (paper) or the whole figure.
- Type:
enumerated - Values:
"container"|"paper" - Default:
"paper" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.yanchor enumerated
Which side of the colorbar sits at y. Defaults to middle (v), bottom (h, paper) or top (h, container).
- Type:
enumerated - Values:
"top"|"middle"|"bottom" - Default: none
- Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.ypad number
Vertical padding, px.
- Type:
number≥ 0 - Default:
10 - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.outlinecolor color
Color of the outline around the bar.
- Type:
color - Default:
"#444" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.outlinewidth number
Outline width, px.
- Type:
number≥ 0 - Default:
1 - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.bordercolor color
Border color of the colorbar box.
- Type:
color - Default:
"#444" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.borderwidth number
Border width of the box, px.
- Type:
number≥ 0 - Default:
0 - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.bgcolor color
Background of the box.
- Type:
color - Default:
"rgba(0, 0, 0, 0)" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.tickmode enumerated
auto picks up to nticks round ticks; linear places ticks from tick0 every dtick; array uses tickvals/ticktext; sync aligns with the overlaid axis (reserved; behaves as auto). Defaults to array when tickvals is set, linear when dtick is set, else auto.
- Type:
enumerated - Values:
"auto"|"linear"|"array"|"sync" - Default: none
- Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.nticks integer
Maximum number of ticks for tickmode: auto (the actual number may be lower so steps stay round). 0 picks it from the axis length.
- Type:
integer≥ 0 - Default:
0 - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.tick0 any
Position of one tick for tickmode: linear (data units; a date on date axes, an exponent on log axes unless dtick is L<f>). Defaults to 0, or 2000-01-01 on date axes.
- Type:
any - Default: none
- Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.dtick any
Tick step. Linear axes: a positive number. Log axes: an integer n (a tick every n decades), L<f> (linear steps of f in data units, e.g. L0.5), D1 (every digit) or D2 (1, 2 and 5). Date axes: milliseconds, or M<n> for n months (M12 for years).
- Type:
any - Default: none
- Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.tickvals data_array
Tick positions for tickmode: array (data units).
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.ticktext data_array
Tick labels for tickvals. Missing entries are formatted as usual.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.ticks enumerated
Draw tick marks outside or inside the plot area, or not at all ('').
- Type:
enumerated - Values:
"outside"|"inside"|"" - Default:
"" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.ticklen number
Tick length in px.
- Type:
number≥ 0 - Default:
5 - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.tickwidth number
Tick width in px.
- Type:
number≥ 0 - Default:
1 - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.tickcolor color
Tick color. Defaults to color.
- Type:
color - Default:
"#444" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.ticklabelposition enumerated
Tick labels outside the bar (away from it) or inside (over it); top/bottom (v) or left/right (h) move them beside their tick.
- Type:
enumerated - Values:
"outside"|"inside"|"outside top"|"inside top"|"outside bottom"|"inside bottom"|"outside left"|"inside left"|"outside right"|"inside right" - Default:
"outside" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.ticklabeloverflow enumerated
Hide labels past the figure or past the bar. Defaults to hide past domain for inside labels, else hide past div.
- Type:
enumerated - Values:
"allow"|"hide past div"|"hide past domain" - Default: none
- Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.ticklabelstep integer
Label every n-th tick only (tickmode auto and linear).
- Type:
integer≥ 1 - Default:
1 - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.showticklabels boolean
Show tick labels.
- Type:
boolean - Default:
true - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.tickfont
Tick-label font. Defaults to layout.font.
- Type: object
- Edit type:
layout+plot
node.colorbar.tickfont.family string
CSS font-family list. The renderer uses the first family it can load and falls back through the list.
- Type:
string(non-empty) - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickfont.size number
Font size in CSS pixels.
- Type:
number≥ 1 - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickfont.color color
Text color.
- Type:
color - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.colorbar.tickfont.weight integer
Font weight: a CSS numeric weight (1–1000), normal or bold.
- Type:
integerfrom 1 to 1000, or"normal"|"bold" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickfont.style enumerated
Font style.
- Type:
enumerated - Values:
"normal"|"italic" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickfont.variant enumerated
Capitals variant (CSS font-variant-caps). The SDF text renderer approximates small and petite caps with uppercase letters at a reduced size.
- Type:
enumerated - Values:
"normal"|"small-caps"|"all-small-caps"|"all-petite-caps"|"petite-caps"|"unicase" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickfont.textcase enumerated
Letter case transform: upper, lower, word caps (first letter of each word), or normal.
- Type:
enumerated - Values:
"normal"|"word caps"|"upper"|"lower" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickfont.lineposition flaglist
Text decoration: under, over and/or through joined with + (e.g. under+over), or none.
- Type:
flaglist - Flags:
"under","over","through"(combine with+) - Also accepts:
"none" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickfont.shadow string
CSS text-shadow behind the text (2px 2px 3px black; only the first shadow is drawn), none, or auto for a thin halo in the contrast color of the text.
- Type:
string - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.tickangle angle
Tick-label rotation in degrees. auto rotates x-axis labels by the first autotickangles entry that avoids overlap.
- Type:
angle(degrees), or"auto" - Default:
"auto" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.tickformat string
Tick-label format: a d3-format specifier for numbers (.2f, ~s, $,) or a d3-time-format specifier for dates (%b %Y), plus %{n}f for n digits of fractional seconds and %h for the half year. Empty picks a format automatically.
- Type:
string - Default:
"" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.tickprefix string
Text before each tick label.
- Type:
string - Default:
"" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.showtickprefix enumerated
Which tick labels get tickprefix.
- Type:
enumerated - Values:
"all"|"first"|"last"|"none" - Default:
"all" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.ticksuffix string
Text after each tick label.
- Type:
string - Default:
"" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.showticksuffix enumerated
Which tick labels get ticksuffix.
- Type:
enumerated - Values:
"all"|"first"|"last"|"none" - Default:
"all" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.separatethousands boolean
Always separate thousands (1,000). By default only numbers with 5 or more integer digits are separated.
- Type:
boolean - Default:
false - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.exponentformat enumerated
How large and small numbers are written: none (1000000), e (1e+6), E (1E+6), power (1×10⁶), SI (1M), B (like SI but 1B for 10⁹).
- Type:
enumerated - Values:
"none"|"e"|"E"|"power"|"SI"|"B" - Default:
"B" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.minexponent number
Smallest decimal exponent written in exponent form (SI/B and exponent formats); smaller magnitudes are written out in full.
- Type:
number≥ 0 - Default:
3 - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.showexponent enumerated
Which tick labels show the exponent.
- Type:
enumerated - Values:
"all"|"first"|"last"|"none" - Default:
"all" - Array OK: no
- Edit type:
colorbars+layout - Animatable: no
node.colorbar.title
Colorbar title.
- Type: object
- Edit type:
colorbars+layout
node.colorbar.title.text string
Colorbar title.
- Type:
string - Default:
"" - Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.colorbar.title.font
Title font. Defaults to layout.font with the tick-label family and 1.2 × its size.
- Type: object
- Edit type:
layout+plot
node.colorbar.title.font.family string
CSS font-family list. The renderer uses the first family it can load and falls back through the list.
- Type:
string(non-empty) - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.font.size number
Font size in CSS pixels.
- Type:
number≥ 1 - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.font.color color
Text color.
- Type:
color - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
node.colorbar.title.font.weight integer
Font weight: a CSS numeric weight (1–1000), normal or bold.
- Type:
integerfrom 1 to 1000, or"normal"|"bold" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.font.style enumerated
Font style.
- Type:
enumerated - Values:
"normal"|"italic" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.font.variant enumerated
Capitals variant (CSS font-variant-caps). The SDF text renderer approximates small and petite caps with uppercase letters at a reduced size.
- Type:
enumerated - Values:
"normal"|"small-caps"|"all-small-caps"|"all-petite-caps"|"petite-caps"|"unicase" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.font.textcase enumerated
Letter case transform: upper, lower, word caps (first letter of each word), or normal.
- Type:
enumerated - Values:
"normal"|"word caps"|"upper"|"lower" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.font.lineposition flaglist
Text decoration: under, over and/or through joined with + (e.g. under+over), or none.
- Type:
flaglist - Flags:
"under","over","through"(combine with+) - Also accepts:
"none" - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.font.shadow string
CSS text-shadow behind the text (2px 2px 3px black; only the first shadow is drawn), none, or auto for a thin halo in the contrast color of the text.
- Type:
string - Default: none
- Array OK: no
- Edit type:
layout+plot(inherited) - Animatable: no
node.colorbar.title.side enumerated
Where the title goes relative to the bar. Defaults to top (v) or right (h).
- Type:
enumerated - Values:
"right"|"top"|"bottom" - Default: none
- Array OK: no
- Edit type:
colorbars+layout(inherited) - Animatable: no
node.coloraxis subplotid
Share a colorscale and domain with other traces through layout.coloraxis ('coloraxis', 'coloraxis2', …). Overrides this container's colorscale attributes.
- Type:
subplotid(coloraxis,coloraxis2,coloraxis3, …) - Default:
"coloraxis" - Array OK: no
- Edit type:
style - Animatable: no
node.render enumerated
'sphere': lit spheres that are part of the scene: node.size is their diameter in CSS px at the middle of the scene in its first view, so nodes are larger near the camera and grow when it comes closer. 'sprite': flat markers (node.symbol, node.line) that face the camera and keep node.size CSS px at every depth, as scatter3d markers do.
- Type:
enumerated - Values:
"sphere"|"sprite" - Default:
"sphere" - Array OK: no
- Edit type:
calc - Animatable: no
node.symbol enumerated
The marker symbol of node.render: 'sprite'.
- Type:
enumerated - Values:
"circle"|0|"0"|"circle-open"|100|"100"|"circle-dot"|200|"200"|"circle-open-dot"|300|"300"|"square"|1|"1"|"square-open"|101|"101"|"square-dot"|201|"201"|"square-open-dot"|301|"301"|"diamond"|2|"2"|"diamond-open"|102|"102"|"diamond-dot"|202|"202"|"diamond-open-dot"|302|"302"|"cross"|3|"3"|"cross-open"|103|"103"|"cross-dot"|203|"203"|"cross-open-dot"|303|"303"|"x"|4|"4"|"x-open"|104|"104"|"x-dot"|204|"204"|"x-open-dot"|304|"304"|"triangle-up"|5|"5"|"triangle-up-open"|105|"105"|"triangle-up-dot"|205|"205"|"triangle-up-open-dot"|305|"305"|"triangle-down"|6|"6"|"triangle-down-open"|106|"106"|"triangle-down-dot"|206|"206"|"triangle-down-open-dot"|306|"306"|"triangle-left"|7|"7"|"triangle-left-open"|107|"107"|"triangle-left-dot"|207|"207"|"triangle-left-open-dot"|307|"307"|"triangle-right"|8|"8"|"triangle-right-open"|108|"108"|"triangle-right-dot"|208|"208"|"triangle-right-open-dot"|308|"308"|"triangle-ne"|9|"9"|"triangle-ne-open"|109|"109"|"triangle-ne-dot"|209|"209"|"triangle-ne-open-dot"|309|"309"|"triangle-se"|10|"10"|"triangle-se-open"|110|"110"|"triangle-se-dot"|210|"210"|"triangle-se-open-dot"|310|"310"|"triangle-sw"|11|"11"|"triangle-sw-open"|111|"111"|"triangle-sw-dot"|211|"211"|"triangle-sw-open-dot"|311|"311"|"triangle-nw"|12|"12"|"triangle-nw-open"|112|"112"|"triangle-nw-dot"|212|"212"|"triangle-nw-open-dot"|312|"312"|"pentagon"|13|"13"|"pentagon-open"|113|"113"|"pentagon-dot"|213|"213"|"pentagon-open-dot"|313|"313"|"hexagon"|14|"14"|"hexagon-open"|114|"114"|"hexagon-dot"|214|"214"|"hexagon-open-dot"|314|"314"|"hexagon2"|15|"15"|"hexagon2-open"|115|"115"|"hexagon2-dot"|215|"215"|"hexagon2-open-dot"|315|"315"|"octagon"|16|"16"|"octagon-open"|116|"116"|"octagon-dot"|216|"216"|"octagon-open-dot"|316|"316"|"star"|17|"17"|"star-open"|117|"117"|"star-dot"|217|"217"|"star-open-dot"|317|"317"|"hexagram"|18|"18"|"hexagram-open"|118|"118"|"hexagram-dot"|218|"218"|"hexagram-open-dot"|318|"318"|"star-triangle-up"|19|"19"|"star-triangle-up-open"|119|"119"|"star-triangle-up-dot"|219|"219"|"star-triangle-up-open-dot"|319|"319"|"star-triangle-down"|20|"20"|"star-triangle-down-open"|120|"120"|"star-triangle-down-dot"|220|"220"|"star-triangle-down-open-dot"|320|"320"|"star-square"|21|"21"|"star-square-open"|121|"121"|"star-square-dot"|221|"221"|"star-square-open-dot"|321|"321"|"star-diamond"|22|"22"|"star-diamond-open"|122|"122"|"star-diamond-dot"|222|"222"|"star-diamond-open-dot"|322|"322"|"diamond-tall"|23|"23"|"diamond-tall-open"|123|"123"|"diamond-tall-dot"|223|"223"|"diamond-tall-open-dot"|323|"323"|"diamond-wide"|24|"24"|"diamond-wide-open"|124|"124"|"diamond-wide-dot"|224|"224"|"diamond-wide-open-dot"|324|"324"|"hourglass"|25|"25"|"hourglass-open"|125|"125"|"hourglass-dot"|225|"225"|"hourglass-open-dot"|325|"325"|"bowtie"|26|"26"|"bowtie-open"|126|"126"|"bowtie-dot"|226|"226"|"bowtie-open-dot"|326|"326"|"circle-cross"|27|"27"|"circle-cross-open"|127|"127"|"circle-cross-dot"|227|"227"|"circle-cross-open-dot"|327|"327"|"circle-x"|28|"28"|"circle-x-open"|128|"128"|"circle-x-dot"|228|"228"|"circle-x-open-dot"|328|"328"|"square-cross"|29|"29"|"square-cross-open"|129|"129"|"square-cross-dot"|229|"229"|"square-cross-open-dot"|329|"329"|"square-x"|30|"30"|"square-x-open"|130|"130"|"square-x-dot"|230|"230"|"square-x-open-dot"|330|"330"|"diamond-cross"|31|"31"|"diamond-cross-open"|131|"131"|"diamond-cross-dot"|231|"231"|"diamond-cross-open-dot"|331|"331"|"diamond-x"|32|"32"|"diamond-x-open"|132|"132"|"diamond-x-dot"|232|"232"|"diamond-x-open-dot"|332|"332"|"cross-thin"|33|"33"|"cross-thin-open"|133|"133"|"cross-thin-dot"|233|"233"|"cross-thin-open-dot"|333|"333"|"x-thin"|34|"34"|"x-thin-open"|134|"134"|"x-thin-dot"|234|"234"|"x-thin-open-dot"|334|"334"|"asterisk"|35|"35"|"asterisk-open"|135|"135"|"asterisk-dot"|235|"235"|"asterisk-open-dot"|335|"335"|"hash"|36|"36"|"hash-open"|136|"136"|"hash-dot"|236|"236"|"hash-open-dot"|336|"336"|"y-up"|37|"37"|"y-up-open"|137|"137"|"y-up-dot"|237|"237"|"y-up-open-dot"|337|"337"|"y-down"|38|"38"|"y-down-open"|138|"138"|"y-down-dot"|238|"238"|"y-down-open-dot"|338|"338"|"y-left"|39|"39"|"y-left-open"|139|"139"|"y-left-dot"|239|"239"|"y-left-open-dot"|339|"339"|"y-right"|40|"40"|"y-right-open"|140|"140"|"y-right-dot"|240|"240"|"y-right-open-dot"|340|"340"|"line-ew"|41|"41"|"line-ew-open"|141|"141"|"line-ew-dot"|241|"241"|"line-ew-open-dot"|341|"341"|"line-ns"|42|"42"|"line-ns-open"|142|"142"|"line-ns-dot"|242|"242"|"line-ns-open-dot"|342|"342"|"line-ne"|43|"43"|"line-ne-open"|143|"143"|"line-ne-dot"|243|"243"|"line-ne-open-dot"|343|"343"|"line-nw"|44|"44"|"line-nw-open"|144|"144"|"line-nw-dot"|244|"244"|"line-nw-open-dot"|344|"344"|"arrow-up"|45|"45"|"arrow-up-open"|145|"145"|"arrow-up-dot"|245|"245"|"arrow-up-open-dot"|345|"345"|"arrow-down"|46|"46"|"arrow-down-open"|146|"146"|"arrow-down-dot"|246|"246"|"arrow-down-open-dot"|346|"346"|"arrow-left"|47|"47"|"arrow-left-open"|147|"147"|"arrow-left-dot"|247|"247"|"arrow-left-open-dot"|347|"347"|"arrow-right"|48|"48"|"arrow-right-open"|148|"148"|"arrow-right-dot"|248|"248"|"arrow-right-open-dot"|348|"348"|"arrow-bar-up"|49|"49"|"arrow-bar-up-open"|149|"149"|"arrow-bar-up-dot"|249|"249"|"arrow-bar-up-open-dot"|349|"349"|"arrow-bar-down"|50|"50"|"arrow-bar-down-open"|150|"150"|"arrow-bar-down-dot"|250|"250"|"arrow-bar-down-open-dot"|350|"350"|"arrow-bar-left"|51|"51"|"arrow-bar-left-open"|151|"151"|"arrow-bar-left-dot"|251|"251"|"arrow-bar-left-open-dot"|351|"351"|"arrow-bar-right"|52|"52"|"arrow-bar-right-open"|152|"152"|"arrow-bar-right-dot"|252|"252"|"arrow-bar-right-open-dot"|352|"352"|"arrow"|53|"53"|"arrow-open"|153|"153"|"arrow-dot"|253|"253"|"arrow-open-dot"|353|"353"|"arrow-wide"|54|"54"|"arrow-wide-open"|154|"154"|"arrow-wide-dot"|254|"254"|"arrow-wide-open-dot"|354|"354" - Default:
"circle" - Array OK: yes (one value per point)
- Edit type:
style - Animatable: no
node.group data_array
A group per node (a name or a number; empty for none): colors the nodes by group, gives the legend one item per group, which a click hides, and keeps the nodes of a group together in the arrangements that can.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.customdata data_array
Extra data per node for %{customdata} and events.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.opacity number
Node opacity (multiplied by the trace opacity), or one per node.
- Type:
numberfrom 0 to 1 - Default:
1 - Array OK: yes (one value per point)
- Edit type:
style - Animatable: no
node.line
Outlines of the nodes (node.render: 'sprite' only).
- Type: object
- Edit type:
style
node.line.color color
Outline color of the nodes, or one per node. Default: the plot background, so that nodes stand out from the links and from each other.
- Type:
color - Default: none
- Array OK: yes (one value per point)
- Edit type:
style - Animatable: no
node.line.width number
Outline width of the nodes in CSS px, or one per node.
- Type:
number≥ 0 - Default:
1 - Array OK: yes (one value per point)
- Edit type:
style - Animatable: no
node.textposition enumerated
Where the label sits relative to its node on screen. 'auto': to the right. 'none' draws no labels (they still show in hover labels).
- Type:
enumerated - Values:
"auto"|"top left"|"top center"|"top right"|"middle left"|"middle center"|"middle right"|"bottom left"|"bottom center"|"bottom right"|"none" - Default:
"auto" - Array OK: no
- Edit type:
plot - Animatable: no
node.textfont
Font of the node labels. Default: layout.font, with the automatic halo (shadow: auto). Family, size, weight and style set the size of box nodes.
- Type: object
- Edit type:
calc
node.textfont.family string
CSS font-family list. Default: layout.font.family.
- Type:
string(non-empty) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.textfont.size number
Font size in CSS px. Default: layout.font.size.
- Type:
number≥ 1 - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.textfont.color color
Text color. Default: layout.font.color; inside a box node, black or white, whichever reads better on the box.
- Type:
color - Default: none
- Array OK: no
- Edit type:
plot - Animatable: no
node.textfont.weight integer
Font weight: a CSS numeric weight (1–1000), normal or bold.
- Type:
integerfrom 1 to 1000, or"normal"|"bold" - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.textfont.style enumerated
Font style.
- Type:
enumerated - Values:
"normal"|"italic" - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
node.textfont.shadow string
CSS text-shadow (first shadow only), 'none', or 'auto' (the default): a thin halo in the text's contrast color, so labels read over the links.
- Type:
string - Default: none
- Array OK: no
- Edit type:
plot - Animatable: no
node.hoverinfo enumerated
Hover of the nodes: labels ('all'), events without labels ('none') or no hover and no events ('skip'). Default: the trace hoverinfo.
- Type:
enumerated - Values:
"all"|"none"|"skip" - Default:
"all" - Array OK: no
- Edit type:
none - Animatable: no
node.hovertemplate string
Template of the node hover labels: %{label}, %{degree}, %{indegree}, %{outdegree}, %{group}, %{size}, %{color}, %{x}, %{y}, %{z}, %{customdata}. <extra>…</extra> replaces the trace name.
- Type:
string - Default: none
- Array OK: no
- Edit type:
none - Animatable: no
link
The links.
- Type: object
- Edit type:
calc
link.source data_array
Source node index of every link. A link whose source or target is not a node is dropped.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
link.target data_array
Target node index of every link. A link from a node to itself is drawn as a ring beside the node, on the side away from its neighbours.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
link.value data_array
A positive number per link: its weight for the layouts (a stronger pull, a shorter link) and %{value} in hover labels. It sets the width only with link.widthby: 'value'. Missing or non-positive values count as 1.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
link.label data_array
Link labels, shown in hover labels.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
link.color color
Link color, or one per link. Default: a translucent gray that reads on the plot background, light or dark.
- Type:
color - Default: none
- Array OK: yes (one value per point)
- Edit type:
style - Animatable: no
link.width number
Link width in CSS px, or one per link: at every depth for lines; for tubes their diameter at the middle of the scene in its first view (see link.render). Ignored with link.widthby.
- Type:
number≥ 0 - Default:
1 - Array OK: yes (one value per point)
- Edit type:
plot - Animatable: no
link.widthby enumerated
'value': widths from link.value, proportional to it, between the two widths of link.widthrange (the largest value gets the second).
- Type:
enumerated - Values:
"none"|"value" - Default:
"none" - Array OK: no
- Edit type:
plot - Animatable: no
link.widthrange info_array
With link.widthby: 'value': the widths in CSS px of a link of value 0 and of the link with the largest value.
- Type:
info_array[number, number] - Default:
[1, 8] - Array OK: no
- Edit type:
plot - Animatable: no
link.curve number
How far a link bows out, as a fraction of its length: 0 is straight. A link bows sideways: for someone who looks down the z axis, positive is to the left of its direction and negative to the right; a link that runs along z bows along y. One value, or one per link. Default: straight, except that the links between the same two nodes are fanned out so that each can be seen, two opposite links bowing apart.
- Type:
numberfrom -2 to 2 - Default: none
- Array OK: yes (one value per point)
- Edit type:
plot - Animatable: no
link.dash string
Dash style of the links drawn as lines: 'solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot', or a dash list such as '5px,10px,2px'.
- Type:
string - Default:
"solid" - Array OK: no
- Edit type:
style - Animatable: no
link.render enumerated
'line': screen-space lines, link.width CSS px wide at every depth. 'tube': lit tubes link.width across, which are part of the scene like the spheres. 'auto': tubes when the widest link is 3 px or wider and the graph has at most 5,000 links, else lines.
- Type:
enumerated - Values:
"auto"|"line"|"tube" - Default:
"auto" - Array OK: no
- Edit type:
plot - Animatable: no
link.arrow
Arrowheads, as cones. Their tips stop at the node's surface, whatever its size.
- Type: object
- Edit type:
plot
link.arrow.end boolean
Draw an arrowhead at the target end of every link (a directed graph). Default: true with arrangement: 'layered', whose links all run from a plane to a later one, else false.
- Type:
boolean - Default:
false - Array OK: no
- Edit type:
plot - Animatable: no
link.arrow.start boolean
Draw an arrowhead at the source end of every link.
- Type:
boolean - Default:
false - Array OK: no
- Edit type:
plot - Animatable: no
link.arrow.size number
Length of the arrowheads (lit cones) in CSS px, measured like node.size; a wide link gets a head at least three times its width.
- Type:
number≥ 0 - Default:
8 - Array OK: no
- Edit type:
plot - Animatable: no
link.opacity number
Link opacity (multiplied by the trace opacity and the color alpha).
- Type:
numberfrom 0 to 1 - Default:
1 - Array OK: no
- Edit type:
style - Animatable: no
link.customdata data_array
Extra data per link for %{customdata} and events.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
link.hoverinfo enumerated
Hover of the links: labels ('all'), events without labels ('none') or no hover and no events ('skip'). Default: the trace hoverinfo.
- Type:
enumerated - Values:
"all"|"none"|"skip" - Default:
"all" - Array OK: no
- Edit type:
none - Animatable: no
link.hovertemplate string
Template of the link hover labels: %{label}, %{value}, %{source.label}, %{target.label}, %{source.index}, %{target.index}, %{customdata}. <extra>…</extra> replaces the trace name.
- Type:
string - Default: none
- Array OK: no
- Edit type:
none - Animatable: no
force
Options of the force layout in three dimensions: of arrangement: 'force', and of the nodes within their planes with 'layered' (where linkdistance defaults to layered.ranksep). Lengths are layout units.
- Type: object
- Edit type:
calc
force.algorithm enumerated
The model of the simulation. 'spring': links are springs with a rest length and every two nodes repel (the d3-force model); even link lengths, the usual choice. 'forceatlas2': links pull in proportion to their length and nodes repel in proportion to their degrees (ForceAtlas2); it pulls communities apart better in graphs with hubs.
- Type:
enumerated - Values:
"spring"|"forceatlas2" - Default:
"spring" - Array OK: no
- Edit type:
calc - Animatable: no
force.seed integer
Seed of the generator that separates nodes at the same place. The layout is deterministic: the same figure gives the same positions everywhere; another seed gives another, equally valid, layout of graphs that have such nodes.
- Type:
integer≥ 0 - Default:
1 - Array OK: no
- Edit type:
calc - Animatable: no
force.ticks integer
Steps of the simulation from its start to rest; the cooling is spread over them. More steps untangle a graph better and take longer. Default: 600 up to 500 nodes, fewer for larger graphs (300 from 1,000 to 3,000 nodes, 90 at 10,000).
- Type:
integer≥ 1 - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
force.linkdistance number
'spring': the rest length of a link, in layout units (CSS px before the graph is fitted to the plot area). Links end up longer where the repulsion of their nodes stretches them.
- Type:
number≥ 0 - Default:
30 - Array OK: no
- Edit type:
calc - Animatable: no
force.linkstrength number
'spring': how hard a link pulls its nodes to its rest length, 0 to 1. Default: per link, 1 / the smaller degree of its two nodes, so that the links of a hub do not crush its neighbours onto it.
- Type:
numberfrom 0 to 1 - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
force.linkweight enumerated
What link.value does to a link: 'strength': a larger value pulls harder; 'distance': a larger value makes the link shorter ('spring' only; as 'strength' for 'forceatlas2'); 'none': nothing.
- Type:
enumerated - Values:
"strength"|"distance"|"none" - Default:
"strength" - Array OK: no
- Edit type:
calc - Animatable: no
force.charge number
'spring': the strength of the force between every two nodes: negative values push them apart (the more negative, the larger and more open the layout), positive ones pull them together.
- Type:
number - Default:
-60 - Array OK: no
- Edit type:
calc - Animatable: no
force.gravity number
The pull toward the center, which keeps the parts of a graph that are not linked from drifting apart. 'spring': each connected part is pulled as a whole (default 0.05). 'forceatlas2': every node is pulled, the more links it has the harder (default 1).
- Type:
number≥ 0 - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
force.collide boolean
Keep nodes from overlapping, each taken as a circle around its marker or box.
- Type:
boolean - Default:
true - Array OK: no
- Edit type:
calc - Animatable: no
force.collidepadding number
With collide: the room left between two nodes, in layout units.
- Type:
number≥ 0 - Default:
2 - Array OK: no
- Edit type:
calc - Animatable: no
force.groupstrength number
The pull of every node toward the middle of its group (node.group), which keeps the nodes of a group together even where the links do not. 0.05 to 0.3 are usual values.
- Type:
number≥ 0 - Default:
0 - Array OK: no
- Edit type:
calc - Animatable: no
force.scalingratio number
'forceatlas2': the repulsion between nodes; a larger value gives a larger, more open layout. Default: 10, or 1 with linlog.
- Type:
number≥ 0 - Default: none
- Array OK: no
- Edit type:
calc - Animatable: no
force.linlog boolean
'forceatlas2': links pull with the logarithm of their length instead of the length: tighter and better separated clusters.
- Type:
boolean - Default:
false - Array OK: no
- Edit type:
calc - Animatable: no
highlight
Highlighting: the neighbourhood of the node or link under the pointer (or of highlight.nodes), and a shortest path between the two nodes of highlight.path. What is highlighted keeps its look, its label shows even where there was no room for it, and everything else is dimmed; only colors change. A hover comes first, then highlight.nodes, then a path.
- Type: object
- Edit type:
style
highlight.mode flaglist
What a hover emphasizes, the rest of the graph being dimmed (highlight.dim). 'neighbors': while the pointer is over a node, the node, the links that lead from it and the nodes they lead to (highlight.hops, highlight.direction); over a link, the link and its two ends. 'none': nothing. What is hovered is what the scene's picking finds, so there is no highlight where hover is off (scene.hovermode: false, hoverinfo: 'skip'), and none for a graph of more than 50,000 nodes and links together.
- Type:
flaglist - Flags:
"neighbors"(combine with+) - Also accepts:
"none" - Default:
"neighbors" - Array OK: no
- Edit type:
style - Animatable: no
highlight.hops integer
With 'neighbors': how many links away from the hovered node the highlight reaches. 1: its neighbours; 2: their neighbours too; 0: the node alone. The links between two nodes that are both at the last hop are not part of it.
- Type:
integer≥ 0 - Default:
1 - Array OK: no
- Edit type:
style - Animatable: no
highlight.direction enumerated
With 'neighbors': which links are followed from the hovered node, and from each node reached. 'both': all of them. 'out': only from a link's source to its target, which gives what the node leads to (its descendants). 'in': only from target to source: what leads to it (its ancestors).
- Type:
enumerated - Values:
"both"|"out"|"in" - Default:
"both" - Array OK: no
- Edit type:
style - Animatable: no
highlight.dim number
How much is left of the nodes, links and labels that are not highlighted while something is: lines and labels keep this share of their opacity; spheres, tubes and arrowheads, which are lit and opaque, this share of their color over the background.
- Type:
numberfrom 0 to 1 - Default:
0.15 - Array OK: no
- Edit type:
style - Animatable: no
highlight.color color
Color of the highlighted links. Default: each link's own color, made opaque.
- Type:
color - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
highlight.nodes data_array
Node indices whose neighbourhood is highlighted as a hover on each of them would (highlight.hops, highlight.direction), whatever highlight.mode says, until this is unset: for a highlight that the app drives (a search box, a linked view, a story). The pointer over a node or link takes its place while it is there.
- Type:
data_array(array or typed array) - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
highlight.path info_array
Two node indices: a shortest path from the first to the second is highlighted until this is unset. Nothing is highlighted when there is no such path.
- Type:
info_array[integer, integer] - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
highlight.pathweight enumerated
What makes a path short. 'hops': the number of its links. 'value': the sum of its links' link.value, each taken as a cost or a distance (a link without a positive value costs 1).
- Type:
enumerated - Values:
"hops"|"value" - Default:
"hops" - Array OK: no
- Edit type:
style - Animatable: no
highlight.pathdirected boolean
Whether a path follows every link from its source to its target only. Default: true when the links have arrowheads at their targets (link.arrow.end), else false: a path may run along a link either way.
- Type:
boolean - Default: none
- Array OK: no
- Edit type:
style - Animatable: no
layered
The layout of arrangement: 'layered': cycles are broken as in the 2D layered layout (the reversed links keep their direction in the drawing), every node gets a rank, each rank is a plane, and the nodes of a plane are spread by the force layout (force) with their coordinate along axis held.
- Type: object
- Edit type:
calc
layered.axis enumerated
The axis the planes are stacked along. The first rank is at the top of it (the largest coordinate), and links run down.
- Type:
enumerated - Values:
"x"|"y"|"z" - Default:
"z" - Array OK: no
- Edit type:
calc - Animatable: no
layered.ranksep number
Distance between two planes, in layout units.
- Type:
number≥ 0 - Default:
80 - Array OK: no
- Edit type:
calc - Animatable: no
layered.ranker enumerated
How nodes get their layer. 'network-simplex': the layers that make the links shortest in total. 'tight-tree': its starting point, faster and nearly as short. 'longest-path': every node as early as its links allow, the fastest, with longer links.
- Type:
enumerated - Values:
"network-simplex"|"tight-tree"|"longest-path" - Default:
"network-simplex" - Array OK: no
- Edit type:
calc - Animatable: no
layered.showplanes boolean
Draw a faint outline around every plane.
- Type:
boolean - Default:
true - Array OK: no
- Edit type:
plot - Animatable: no
layered.planecolor color
Color of the plane outlines. Default: the link color, fainter.
- Type:
color - Default: none
- Array OK: no
- Edit type:
style - Animatable: no