Pie with drilldown

author(s): Torstein Hønsi

by Rajan Paneru

HTML

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/data.js"></script>
<script src="https://code.highcharts.com/modules/drilldown.js"></script>

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

<!-- Data from www.netmarketshare.com. Select Browsers => Desktop share by version. Download as tsv. -->
<pre id="tsv" style="display:none">Browser Version    Total Market Share
Microsoft Internet Explorer 8.0    26.61%
Microsoft Internet Explorer 9.0    16.96%
Chrome 18.0    8.01%
Chrome 19.0    7.73%
Firefox 12    6.72%
Microsoft Internet Explorer 6.0    6.40%
Firefox 11    4.72%
Microsoft Internet Explorer 7.0    3.55%
Safari 5.1    3.53%
Firefox 13    2.16%
Firefox 3.6    1.87%
Opera 11.x    1.30%
Chrome 17.0    1.13%
Firefox 10    0.90%
Safari 5.0    0.85%
Firefox 9.0    0.65%
Firefox 8.0    0.55%
Firefox 4.0    0.50%
Chrome 16.0    0.45%
Firefox 3.0    0.36%
Firefox 3.5    0.36%
Firefox 6.0    0.32%
Firefox 5.0    0.31%
Firefox 7.0    0.29%
Proprietary or Undetectable    0.29%
Chrome 18.0 - Maxthon Edition    0.26%
Chrome 14.0    0.25%
Chrome 20.0    0.24%
Chrome 15.0    0.18%
Chrome 12.0    0.16%
Opera 12.x    0.15%
Safari 4.0    0.14%
Chrome 13.0    0.13%
Safari 4.1    0.12%
Chrome 11.0    0.10%
Firefox 14    0.10%
Firefox 2.0    0.09%
Chrome 10.0    0.09%
Opera 10.x    0.09%
Microsoft Internet Explorer 8.0 - Tencent Traveler Edition    0.09%</pre>

JavaScript

// Create the chart
Highcharts.chart('container', {
  chart: {
    type: 'pie',
    events: {
      load: function(event) {
        this.series[0].data[0].doDrilldown();
        this.series[0].data[0].doDrilldown();
      }
    },
  },
  title: {
    text: 'Browser market shares. January, 2018'
  },
  subtitle: {
    text: 'Click the slices to view versions. Source: <a href="http://statcounter.com" target="_blank">statcounter.com</a>'
  },
  plotOptions: {
    series: {
      dataLabels: {
        enabled: true,
        format: '{point.name}: {point.y:.1f}%'
      }
    }
  },

  tooltip: {
    headerFormat: '<span style="font-size:11px">{series.name}</span><br>',
    pointFormat: '<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.2f}%</b> of total<br/>'
  },

  series: [{
    name: "Browsers",
    colorByPoint: true,
    data: [{
        name: "Chrome",
        y: 62.74,
        drilldown: "Chrome"
      },
      {
        name: "Firefox",
        y: 10.57,
        drilldown: "Firefox"
      },
      {
        name: "Internet Explorer",
        y: 7.23,
        drilldown: "Internet Explorer"
      },
      {
        name: "Safari",
        y: 5.58,
        drilldown: "Safari"
      },
      {
        name: "Edge",
        y: 4.02,
        drilldown: "Edge"
      },
      {
        name: "Opera",
        y: 1.92,
        drilldown: "Opera"
      },
      {
        name: "Other",
        y: 7.62,
        drilldown: null
      }
    ]
  }],
  drilldown: {
    series: [{
        name: "Chrome",
        id: "Chrome",
        data: [

          {
            name: "v61.0",
            y: 0.88,
            drilldown: "thirdlevel"
          },

          [
            "v43.0",
            0.17
          ],
          [
            "v29.0",
            0.26
          ]
        ]
      },


      {
        name: "thirdlevel",
        id: "thirdlevel",
        drilldown: "fourthlevel",
        data: [

          [
            "R",
            75
         ...