Highcharts Legend with values

Needs support CSS in daspanel skin

by Ben Clayton

HTML

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>

<div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div>

CSS

.highcharts-legend .legend-name {
	display:inline-block;
	width:130px;
	overflow: hidden;
  text-overflow: ellipsis;
	direction: rtl;
	padding-right:10px;
	
}
.highcharts-legend .legend-value {
	display:inline-block;
	width:50px;
}

JavaScript

// Build the chart
Highcharts.chart('container', {
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false,
        type: 'pie'
    },
		legend:{
			layout:'vertical',
			align:'right',
			verticalAlign:'middle',
			useHTML: true,
			labelFormatter: function () {
				return "<div class='legend-name'>"+this.name + '</div>' +
								"<div class='legend-value'>" + this.y + '</div>';
      }
		},
    title: {
        text: 'Browser market shares in January, 2018'
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: false
            },
            showInLegend: true
        }
    },
    series: [{
        name: 'Brands',
        colorByPoint: true,
        data: [{
            name: 'Chrome',
            y: 61.41
        }, {
            name: 'Internet Explorer',
            y: 11.84
        }, {
            name: 'Firefox',
            y: 10.85
        }, {
            name: 'Edge',
            y: 4.67
        }, {
            name: 'Safari',
            y: 4.18
        }, {
            name: 'Other',
            y: 7.05
        }]
    }]
});