Available in the Full Version

Data Chart - Charts - Composite Series

This sample demonstrates how to configure a composite chart with two Y-axes with different range and two different data series types: column and line series.
China
US
Russia
Total Energy

This sample is designed for a larger screen size.

On mobile, try rotating your screen, view full size, or email to another device.

Code View

Copy to Clipboard
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Composite Chart</title>

    <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script>

    <!-- Ignite UI for jQuery Required Combined CSS Files -->
    <link href="http://cdn-na.infragistics.com/igniteui/2024.2/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" />
    <link href="http://cdn-na.infragistics.com/igniteui/2024.2/latest/css/structure/infragistics.css" rel="stylesheet" />
    
    <!--CSS file specific for chart styling -->
    <link href="http://cdn-na.infragistics.com/igniteui/2024.2/latest/css/structure/modules/infragistics.ui.chart.css" rel="stylesheet" />
    
    <!-- Ignite UI for jQuery Required Combined JavaScript Files -->
    <script src="http://cdn-na.infragistics.com/igniteui/2024.2/latest/js/infragistics.core.js"></script>
    <script src="http://cdn-na.infragistics.com/igniteui/2024.2/latest/js/infragistics.dv.js"></script>

</head>
<body>   
    <script type="text/javascript" src="/data-files/world-energy-production.js"></script>

    <script type="text/javascript">
        $(function () {
            // generating new data column based on existing values
            for (i = 0; i < everyThreeYears.length; i++) {
                var chn = everyThreeYears[i]["China"];
                var usa = everyThreeYears[i]["UnitedStates"];
                var rus = everyThreeYears[i]["Russia"];
                everyThreeYears[i].Total = (chn + usa + rus).toFixed(2);
            }

            $("#chart").igDataChart({
                dataSource: everyThreeYears,
                width: "550px",
                height: "450px", 
                title: "Energy Production Per Country",
                legend: { element: "legend" },
                horizontalZoomable: true,
                verticalZoomable: true,
                leftMargin: 5,
                topMargin: 15, 
                axes: [{
                    // this axis is shared between column and line series 
                    type: "categoryX",
                    name: "sharedXAxis",
                    label: "Year",
                    strokeThickness: 5,
                    title: "Year"
                }, {
                    // this axis is shared between column series 
                    type: "numericY",
                    name: "sharedYAxis",
                    minimumValue: 0,
                    maximumValue: 100,
                    strokeThickness: 5,
                    title: "Quadrillion Btu"
                }, {
                    // this axis is not shared between any series 
                    type: "numericY",
                    name: "lineYAxis",
                    minimumValue: 50,
                    maximumValue: 250,
                    labelLocation: "outsideRight",
                    title: "Quadrillion Btu",
                }],
                series: [ 
                    CreateColumnSeries("China", "China"),
                    CreateColumnSeries("UnitedStates", "US"),
                    CreateColumnSeries("Russia", "Russia"),
                    CreateLineSeries("Total", "Total Energy"),
                ],
            }); 

            function CreateColumnSeries(seriesMemberPath, seriesTitle) {
                var series = {
                    type: "column",
                    markerType: "none",
                    xAxis: "sharedXAxis",
                    yAxis: "sharedYAxis",
                    name: seriesMemberPath + "series",
                    title: seriesTitle,
                    valueMemberPath: seriesMemberPath,
                    isTransitionInEnabled: true,
                    isHighlightingEnabled: true,
                    showTooltip: true,
                    thickness: 0
                }
                return series;
            }

            function CreateLineSeries(seriesMemberPath, seriesTitle) {
                var series = {
                    type: "line",
                    markerType: "none",
                    xAxis: "sharedXAxis",
                    yAxis: "lineYAxis",
                    brush: "#008DFF",
                    name: seriesMemberPath + "series",
                    title: seriesTitle,
                    valueMemberPath: seriesMemberPath,
                    isTransitionInEnabled: true,
                    isHighlightingEnabled: true,
                    showTooltip: true,
                    thickness: 3
                }
                return series;
            }
        });
    </script>

    <style>
        .tooltip { margin: 0px 5px 0px 5px; }

        .chart {
            display: inline-block;
        }
        .legend {
            display: inline-block; 
        }
    </style>

    <div>
        <div  >
            <div id="chart" class="chart"></div>
            <div id="legend" class="legend"></div>
        </div> 
    </div>

    <div class="EIAdata-attribution">
        Energy data from:<br />
        <a href="http://www.eia.gov/" target="_blank">U.S. Energy Information Administration (2012)</a>
    </div>
</body>
</html>