I'm new to this, and would need some help.
I'm trying to create an organisation chart but would like to insert labels for the different connections.
For example, the line from CTO to 'Web devs, sys admin' should read 50%. The line from CTO to 'product developers' should read 40% The line from CTO to 'marketing team' should read 10%.
I'm working from this: https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/organization-chart
Highcharts.chart('container', {
chart: {
height: 600,
inverted: true
},
title: {
text: 'Highcharts Org Chart'
},
accessibility: {
point: {
descriptionFormat: '{add index 1}. {toNode.name}' +
'{#if (ne toNode.name toNode.id)}, {toNode.id}{/if}, ' +
'reports to {fromNode.id}'
}
},
series: [{
type: 'organization',
name: 'Highsoft',
keys: ['from', 'to'],
data: [
['Shareholders', 'Board'],
['Board', 'CEO'],
['CEO', 'CTO'],
['CEO', 'CPO'],
['CEO', 'CSO'],
['CEO', 'HR'],
['CTO', 'Product'],
['CTO', 'Web'],
['CSO', 'Sales'],
['HR', 'Market'],
['CSO', 'Market'],
['HR', 'Market'],
['CTO', 'Market']
],
levels: [{
level: 0,
color: 'silver',
dataLabels: {
color: 'black'
},
height: 25
}, {
level: 1,
color: 'silver',
dataLabels: {
color: 'black'
},
height: 25
}, {
level: 2,
color: '#980104'
}, {
level: 4,
color: '#359154'
}],
nodes: [{
id: 'Shareholders'
}, {
id: 'Board'
}, {
id: 'CEO',
title: 'CEO',
name: 'Atle Sivertsen',
image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2022/06/30081411/portrett-sorthvitt.jpg'
}, {
id: 'HR',
title: 'CFO',
name: 'Anne Jorunn Fjærestad',
color: '#007ad0',
image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2020/03/17131210/Highsoft_04045_.jpg'
}, {
id: 'CTO',
title: 'CTO',
name: 'Christer Vasseng',
image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2020/03/17131120/Highsoft_04074_.jpg'
}, {
id: 'CPO',
title: 'CPO',
name: 'Torstein Hønsi',
image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2020/03/17131213/Highsoft_03998_.jpg'
}, {
id: 'CSO',
title: 'CSO',
name: 'Anita Nesse',
image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2020/03/17131156/Highsoft_03834_.jpg'
}, {
id: 'Product',
name: 'Product developers'
}, {
id: 'Web',
name: 'Web devs, sys admin'
}, {
id: 'Sales',
name: 'Sales team'
}, {
id: 'Market',
name: 'Marketing team',
column: 5
}],
colorByPoint: false,
color: '#007ad0',
dataLabels: {
color: 'white'
},
borderColor: 'white',
nodeWidth: 65
}],
tooltip: {
outside: true
},
exporting: {
allowHTML: true,
sourceWidth: 800,
sourceHeight: 600
}
});
Would really appreciate any guidance on this!
I tried adding names to each connection but that does not work.
Here is an image that shows the example - the 20%/30%/40% are examples of the labels that I want to add. I want to be able to label connections as and when required: Example
From Highcharts v11 onwards, it is possible to set labels for links using the
dataLabels.linkFormatanddataLabels.linkTextPathoptions. However, it is important to note that these options currently work perfectly for non-inverted charts. For inverted charts, ongoing improvement work is underway to enhance their functionality.Demo: https://jsfiddle.net/BlackLabel/cnkf18rg/
In the meantime, as a temporary solution, you can use Highcharts.SVG Renderer when dealing with inverted
Demo: https://jsfiddle.net/BlackLabel/7jb9a13g/
API References: https://api.highcharts.com/highcharts/series.organization.dataLabels.linkTextPath https://api.highcharts.com/highcharts/series.organization.dataLabels.linkFormat https://api.highcharts.com/class-reference/Highcharts.SVGRenderer