Donut chart
Highcharts.chart('container', { chart: { type: 'pie', custom: {}, events: { render() { const chart = this, series = chart.series[0]; let customLabel = chart.options.chart.custom.label; if (!customLabel) { customLabel = chart.options.chart.custom.label = chart.renderer.label( 'Total<br/>' + '<strong>2 877 820</strong>' ) .css({ color: '#000', textAnchor: 'middle' }) .add(); } const x = series.center[0] + chart.plotLeft, y = series.center[1] + chart.plotTop - (customLabel.attr('height') / 2); customLabel.attr({ x, y }); // Set font size based on chart diameter customLabel.css({ fontSize: `${series.center[2] / 12}px` }); } } }, accessibility: { point: { valueSuffix: '%' } }, title: { text: '2023 Norway car registrations' }, subtitle: { text: 'Source: <a href="https://www.ssb.no/transport-og-reiseliv/faktaside/bil-og-transport">SSB</a>' }, tooltip: { pointFormat: '{series.name}: <b>{point.percentage:.0f}%</b>' }, legend: { enabled: false }, plotOptions: { series: { allowPointSelect: true, cursor: 'pointer', borderRadius: 8, dataLabels: [{ enabled: true, distance: 20, format: '{point.name}' }, { enabled: true, distance: -15, format: '{point.percentage:.0f}%', style: { fontSize: '0.9em' } }], showInLegend: true } }, series: [{ name: 'Registrations', colorByPoint: true, innerSize: '75%', data: [{ name: 'EV', y: 23.9 }, { name: 'Hybrids', y: 12.6 }, { name: 'Diesel', y: 37.0 }, { name: 'Petrol', y: 26.4 }] }] });
CorePie charts
Install with NPM
The official Highcharts NPM package comes with support for CommonJS and contains Highcharts, and its Stock, Maps and Gantt packages.
npm install highcharts --save
See more installation optionsDownload our library
The zip archive contains Javascript files and examples. Unzip the zip package and open index.html in your browser to see the examples.
DownloadBuy a license
You can download and try out all Highcharts products for free. Once your project/product is ready for launch, purchase a commercial license.
See License Pricing