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 on a dashboard application, so I encountered a situation where I had 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 do we need first?
Include the necessary JavaScript files and UI elements as follows.
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto;"></div>
<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.
$(function() {
$('#container').highcharts({
title: {
text: 'Worked hours in a week'
},
xAxis: {
categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']
},
series: [{
type: 'column',
name: 'Monday',
data: [3, 2, 1, 3, 4]
}, {
type: 'column',
name: 'Tuesday',
data: [2, 3, 5, 7, 6]
}, {
type: 'column',
name: 'Wednesday',
data: [4, 3, 3, 9, 0]
}, {
type: 'column',
name: 'Thursday',
data: [4, 3, 3, 9, 0]
}, {
type: 'column',
name: 'Friday',
data: [4, 3, 3, 9, 0]
}, {
type: 'spline',
name: 'Thursday',
data: [3, 2.67, 3, 6.33, 3.33],
marker: {
lineWidth: 2,
lineColor: Highcharts.getOptions().colors[3],
fillColor: 'white'
}
}]
});
$('#container2').highcharts({
chart: {
backgroundColor: 'rgba(0,0,0,0)'
},
title: {
text: null
},
exporting: {
enabled: false
},
credits: {
enabled: false
},
series: [{
type: 'pie',
name: 'Total',
data: [{
name: 'Monday',
y: 13,
color: Highcharts.getOptions().colors[0]
}, {
name: 'Tuesday',
y: 23,
color: Highcharts.getOptions().colors[1]
}, {
name: 'Wednesday',
y: 19,
color: Highcharts.getOptions().colors[2]
}, {
name: 'Thursday',
y: 19,
color: Highcharts.getOptions().colors[2]
}, {
name: 'Friday',
y: 19,
color: Highcharts.getOptions().colors[2]
}],
size: 90,
showInLegend: false,
dataLabels: {
enabled: false
}
}]
});
$("#container2").draggable();
});
Please note that I have given the Pie chart as a separate chart so that we can make it draggable as follows.
$("#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 wherever you want it.
Conclusion
I hope you liked this article. Now, please share your thoughts and suggestions. It matters a lot.
Kindest Regards