Arc
A built-in edge Arc has the default style as below.
Usage
As stated in Built-in Edges , there are two ways to configure the edge: Configure it when instantiating a Graph globally; Configure it in the data.
1 Global Configure When Instantiating a Graph
Assign shape
to 'arc'
in the defaultEdge
object when instantiating a Graph:
const graph = new G6.Graph({
container: 'mountNode',
width: 800,
height: 600,
defaultEdge: {
shape: 'arc', // The type of the edge
// ... Other configuraltions
},
});
2 Configure in the Data
To configure different edges with different properties, you can write the properties into the edge data.
const data = {
nodes: [
... // nodes
],
edges: [{
source: 'node0',
target: 'node1'
shape: 'arc',
//... // Other configurations for edges
style: {
//... // Style properties for edges
}
},
//... // Other edges
]
}
Property
Arc edge has the Common Edge Properties, and some commonly used properties are shown below, where curveOffset
is the special property for arc edge , controlling the size and the bending direction of the arc.
color: '#87e8de',
curveOffset: 20, // The distance between the center of the two endpoints and the center of the arc
style: {
lineWidth: 2,
stroke: '#87e8de'
},
label: 'Text of the label',
labelCfg: {
refX: 10, // x offset of the label
refY: 10, // y offset of the label
style: {
fill: '#595959'
}
}
Name | Description | Type | Remark |
---|---|---|---|
color | The color of the edge | String | The priority id lower than stroke in style |
curveOffset | The distance between the center of the two endpoints and the center of the arc | Number | The absolute value of curveOffset is the size of the arc, the sign of curveOffset is the bending direction of the arc. 20 by default. It is the special property for arc edge |
style | The default style of edge | Object | Correspond to the styles in Canvas |
label | The text of the label | String | |
labelCfg | The configurations of the label | Object |
Special Property: curveOffset
curveOffset
is the special property for arc edge, which controlls the size and the bending direction of the arc. The following code shows how to configure the curveOffset
globally when instantiating a Graph.
const data = {
nodes: [
{
id: 'node0',
x: 100,
y: 100,
size: 20,
},
{
id: 'node1',
x: 200,
y: 200,
size: 20,
},
],
edges: [
{
source: 'node0',
target: 'node1',
shape: 'arc',
label: 'arc',
},
],
};
const graph = new G6.Graph({
container: 'mountNode',
width: 800,
height: 600,
linkCenter: true,
defaultEdge: {
// shape: 'arc', // The shape has been assigned in the data, we do not have to define it any more
curveOffset: -80,
},
});
graph.data(data);
graph.render();
⚠️Attention:
linkCenter: true
is assigned to the graph in the code above to ensure the arc edges link to the center of their end nodes.
style
style
is an object which is the same as the Common Edge Style Properties.
Base on the code in curveOffset section, we add style
to defaultEdge
.
!
const data = {
// ... data
};
const graph = new G6.Graph({
// ... Other configurations for graph
defaultEdge: {
// ... Other properties for edges
style: {
stroke: '#088',
lineWidth: 3,
},
},
});
// ...
labelCfg
labelCfg
is an object which is the same as the Common Edge Label Properties.
Base on the code in Special Property: curveOffset section, we add labelCfg
to defaultEdge
.
const data = {
// ... data
};
const graph = new G6.Graph({
// ... Other configurations for graph
defaultEdge: {
// ... Other properties for edges
labelCfg: {
autoRotate: true,
refY: -30,
refX: 30,
},
},
});
// ...