Create a Combo Chart and Make Your Chart Draggable

Introduction
Hi all, this article explains how to create a Combo chart. As you all know, the word combo is short for combination, in this case it is a combination of chart types. Which means we can have multiple chart types in one chart.

Background

For the past few months I have been working in a dashboard application, so I encountered a situation to work with a Combo chart in my application. As I began working with the Combo chart, when I finished the work I got a new requirement that a Pie chart must be draggable in the chart area. So I thought of working on that and share it with you all.

What we need first

Include the necessary JavaScript files and UI elements as follows.

  1. <script src=“http://code.highcharts.com/highcharts.js”></script>
  2. <script src=“http://code.highcharts.com/modules/exporting.js”></script>
  3. <div id=“container” style=“min-width: 310px; height: 400px; margin: 0 auto”></div>
  4. <div id=“container2” style=“width: 150px; height: 150px; margin: 0 auto; position:absolute; top: 120px; left: 150px;”></div>

Combo chart configuration

Our next step is to configure the Combo chart. You can determine the configuration here.

  1. $(function()
  2. {
  3.     $(‘#container’).highcharts({
  4.         title: {
  5.             text: ‘Worked hours in a week’
  6.         },
  7.         xAxis: {
  8.             categories: [‘Apples’‘Oranges’‘Pears’‘Bananas’‘Plums’]
  9.         },
  10.         series: [{
  11.             type: ‘column’,
  12.             name: ‘Monday’,
  13.             data: [3, 2, 1, 3, 4]
  14.         }, {
  15.             type: ‘column’,
  16.             name: ‘Tuesday’,
  17.             data: [2, 3, 5, 7, 6]
  18.         }, {
  19.             type: ‘column’,
  20.             name: ‘Wednesday’,
  21.             data: [4, 3, 3, 9, 0]
  22.         }, {
  23.             type: ‘column’,
  24.             name: ‘Thursday’,
  25.             data: [4, 3, 3, 9, 0]
  26.         }, {
  27.             type: ‘column’,
  28.             name: ‘Friday’,
  29.             data: [4, 3, 3, 9, 0]
  30.         }, {
  31.             type: ‘spline’,
  32.             name: ‘Thursday’,
  33.             data: [3, 2.67, 3, 6.33, 3.33],
  34.             marker: {
  35.                 lineWidth: 2,
  36.                 lineColor: Highcharts.getOptions().colors[3],
  37.                 fillColor: ‘white’
  38.             }
  39.         }]
  40.     });
  41.     $(‘#container2’).highcharts({
  42.         chart: {
  43.             backgroundColor: ‘rgba(0,0,0,0)’
  44.         },
  45.         title: {
  46.             text: null
  47.         },
  48.         exporting: {
  49.             enabled: false
  50.         },
  51.         credits: {
  52.             enabled: false
  53.         },
  54.         series: [{
  55.             type: ‘pie’,
  56.             name: ‘Total’,
  57.             data: [{
  58.                 name: ‘Monday’,
  59.                 y: 13,
  60.                 color: Highcharts.getOptions().colors[0]
  61.             }, {
  62.                 name: ‘Tuesday’,
  63.                 y: 23,
  64.                 color: Highcharts.getOptions().colors[1]
  65.             }, {
  66.                 name: ‘Wednesday’,
  67.                 y: 19,
  68.                 color: Highcharts.getOptions().colors[2]
  69.             }, {
  70.                 name: ‘Thursday’,
  71.                 y: 19,
  72.                 color: Highcharts.getOptions().colors[2]
  73.             }, {
  74.                 name: ‘Friday’,
  75.                 y: 19,
  76.                 color: Highcharts.getOptions().colors[2]
  77.             }],
  78.             size: 90,
  79.             showInLegend: false,
  80.             dataLabels: {
  81.                 enabled: false
  82.             }
  83.         }]
  84.     });
  85.     $(“#container2”).draggable();
  86. });

Please note that I have given the Pie chart as a separate chart so that we can make it draggable as follows.

  1. $(“#container2”).draggable();

You can determine the demo here: http://jsfiddle.net/sibeeshvenu/oc1mn8ru/4/

Output

Now if you run this configuration you will get output as follows.

Now the interesting fact is, you can drag the pie to where ever you want it.

Conclusion

I hope you liked this article. Now please share your thoughts and suggestions. It matters a lot.

Kindest Regards,

Sibeesh Venu
Sibeesh Passion

Leave a Reply

Your email address will not be published. Required fields are marked *

Serverless 360