简体   繁体   中英

Highcharts Line Chart Drill down not working properly

In my application I have a Line chart showing employee head count variation in several departments over several years. Then when I click on a one data series(Ex: Department A) I need to show a drill down of that selected department. I have added the drill dwon code and drill down data to the chart definition. Seems it's not working properly. I couldn't find what's wrong here. Is there a workaround for this one. Sample code is as following.

http://jsfiddle.net/yasirunilan/qja2s3rb/9/

 var chart = new Highcharts.Chart({
    chart: {
      renderTo: "container-main-bar",
      type: "line"
    },
    title: {
      text: null
    },
    series: [{
      "name": "Department A",
      "data": [{
          "name": "Month1",
          "y": 27,
          "drilldown": "levelA2"
        },
        {
          "name": "Month2",
          "y": 24,
          "drilldown": "levelA2"
        },
        {
          "name": "Month3",
          "y": 22,
          "drilldown": "levelA2"
        },
        {
          "name": "Month4",
          "y": 26,
          "drilldown": "levelA2"
        },
        {
          "name": "Month5",
          "y": 21,
          "drilldown": "levelA2"
        },
        {
          "name": "Month6",
          "y": 22,
          "drilldown": "levelA2"
        },
        {
          "name": "Month7",
          "y": 23,
          "drilldown": "levelA2"
        },
        {
          "name": "Month8",
          "y": 24,
          "drilldown": "levelA2"
        },
        {
          "name": "Month9",
          "y": 21,
          "drilldown": "levelA2"
        },
        {
          "name": "Month10",
          "y": 20,
          "drilldown": "levelA2"
        },
        {
          "name": "Month11",
          "y": 22,
          "drilldown": "levelA2"
        },
        {
          "name": "Month12",
          "y": 25,
          "drilldown": "levelA2"
        },
        {
          "name": "Month13",
          "y": 23,
          "drilldown": "levelA2"
        },
        {
          "name": "Month14",
          "y": 24,
          "drilldown": "levelA2"
        },
        {
          "name": "Month15",
          "y": 25,
          "drilldown": "levelA2"
        },
        {
          "name": "Month16",
          "y": 26,
          "drilldown": "levelA2"
        },
        {
          "name": "Month17",
          "y": 24,
          "drilldown": "levelA2"
        },
        {
          "name": "Month18",
          "y": 23,
          "drilldown": "levelA2"
        },
        {
          "name": "Month19",
          "y": 23,
          "drilldown": "levelA2"
        },
        {
          "name": "Month20",
          "y": 25,
          "drilldown": "levelA2"
        },
        {
          "name": "Month21",
          "y": 25,
          "drilldown": "levelA2"
        },
        {
          "name": "Month22",
          "y": 25,
          "drilldown": "levelA2"
        },
        {
          "name": "Month23",
          "y": 25,
          "drilldown": "levelA2"
        },
        {
          "name": "Month24",
          "y": 25,
          "drilldown": "levelA2"
        }
      ],
      "drilldown": {
        "series": [{
          "name": 'Headcount',
          "id": 'levelA2',
          "data": [{
              "name": "Month1",
              "y": 10,
            },
            {
              "name": "Month2",
              "y": 12,
            },
            {
              "name": "Month3",
              "y": 11,
            },
            {
              "name": "Month4",
              "y": 10,
            },
            {
              "name": "Month5",
              "y": 9,
            },
            {
              "name": "Month6",
              "y": 8,
            },
            {
              "name": "Month7",
              "y": 10,
            },
            {
              "name": "Month8",
              "y": 12,
            },
            {
              "name": "Month9",
              "y": 11,
            },
            {
              "name": "Month10",
              "y": 13,
            },
            {
              "name": "Month11",
              "y": 14,
            },
            {
              "name": "Month12",
              "y": 10,
            },
            {
              "name": "Month13",
              "y": 9,
            },
            {
              "name": "Month14",
              "y": 8,
            },
            {
              "name": "Month15",
              "y": 11,
            },
            {
              "name": "Month16",
              "y": 10,
            },
            {
              "name": "Month17",
              "y": 9,
            },
            {
              "name": "Month18",
              "y": 10,
            },
            {
              "name": "Month19",
              "y": 11,
            },
            {
              "name": "Month20",
              "y": 12,
            },
            {
              "name": "Month21",
              "y": 13,
            },
            {
              "name": "Month22",
              "y": 10,
            },
            {
              "name": "Month23",
              "y": 11,
            },
            {
              "name": "Month24",
              "y": 12,
            }
          ]
        }]
      }
    }, ],
    xAxis: {
      categories: [{
          "name": "2013",
          "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        },
        {
          "name": "2014",
          "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        },
        {
          "name": "2015",
          "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        },
        {
          "name": "2016",
          "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        },
        {
          "name": "2017",
          "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        },
        {
          "name": "2018",
          "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        }
      ]
    },
    yAxis: [{ // Primary yAxis
      title: {
        text: 'No. of Employees'
      },
    }],
  });

first you have to add drilldown.js in your HTML

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

and drilldown object is wrongly entered in the input JSON object. it should come out of series . below is the correct format. Please have a look in the code snippet.

 $(function() { var chart = new Highcharts.Chart({ chart: { renderTo: "container-main-bar", type: "line" }, title: { text: null }, series: [{ "name": "Department A", "data": [{ "name": "Month1", "y": 27, "drilldown": "levelA2" }, { "name": "Month2", "y": 24, "drilldown": "levelA2" }, { "name": "Month3", "y": 22, "drilldown": "levelA2" }, { "name": "Month4", "y": 26, "drilldown": "levelA2" }, { "name": "Month5", "y": 21, "drilldown": "levelA2" }, { "name": "Month6", "y": 22, "drilldown": "levelA2" }, { "name": "Month7", "y": 23, "drilldown": "levelA2" }, { "name": "Month8", "y": 24, "drilldown": "levelA2" }, { "name": "Month9", "y": 21, "drilldown": "levelA2" }, { "name": "Month10", "y": 20, "drilldown": "levelA2" }, { "name": "Month11", "y": 22, "drilldown": "levelA2" }, { "name": "Month12", "y": 25, "drilldown": "levelA2" }, { "name": "Month13", "y": 23, "drilldown": "levelA2" }, { "name": "Month14", "y": 24, "drilldown": "levelA2" }, { "name": "Month15", "y": 25, "drilldown": "levelA2" }, { "name": "Month16", "y": 26, "drilldown": "levelA2" }, { "name": "Month17", "y": 24, "drilldown": "levelA2" }, { "name": "Month18", "y": 23, "drilldown": "levelA2" }, { "name": "Month19", "y": 23, "drilldown": "levelA2" }, { "name": "Month20", "y": 25, "drilldown": "levelA2" }, { "name": "Month21", "y": 25, "drilldown": "levelA2" }, { "name": "Month22", "y": 25, "drilldown": "levelA2" }, { "name": "Month23", "y": 25, "drilldown": "levelA2" }, { "name": "Month24", "y": 25, "drilldown": "levelA2" } ] } ], "drilldown": { "series": [{ "name": 'Headcount', "id": 'levelA2', "data": [{ "name": "Month1", "y": 10, }, { "name": "Month2", "y": 12, }, { "name": "Month3", "y": 11, }, { "name": "Month4", "y": 10, }, { "name": "Month5", "y": 9, }, { "name": "Month6", "y": 8, }, { "name": "Month7", "y": 10, }, { "name": "Month8", "y": 12, }, { "name": "Month9", "y": 11, }, { "name": "Month10", "y": 13, }, { "name": "Month11", "y": 14, }, { "name": "Month12", "y": 10, }, { "name": "Month13", "y": 9, }, { "name": "Month14", "y": 8, }, { "name": "Month15", "y": 11, }, { "name": "Month16", "y": 10, }, { "name": "Month17", "y": 9, }, { "name": "Month18", "y": 10, }, { "name": "Month19", "y": 11, }, { "name": "Month20", "y": 12, }, { "name": "Month21", "y": 13, }, { "name": "Month22", "y": 10, }, { "name": "Month23", "y": 11, }, { "name": "Month24", "y": 12, } ] }] }, xAxis: { categories: [{ "name": "2013", "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }, { "name": "2014", "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }, { "name": "2015", "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }, { "name": "2016", "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }, { "name": "2017", "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }, { "name": "2018", "categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] } ] }, yAxis: [{ // Primary yAxis title: { text: 'No. of Employees' }, }], }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> <script src="https://code.highcharts.com/modules/drilldown.js"></script> <script src="http://blacklabel.github.io/grouped_categories/grouped-categories.js"></script> <div id="container-main-bar"></div> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM