Available in the Full Version

Data Chart - Axis Intervals

This sample demonstrates the use of Major and Minor Axis Intervals on numeric and category axes of the chart control.
XAxis Options
YAxis Options
Population data from:
U.S. Census Bureau

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>
    <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>

    <title>DataChart Axis Intervals</title>  
</head>
<body>
    <script type="text/javascript" src="/data-files/us-fao-gross-production.js"></script>
    
    <script type="text/javascript">

        var transparentBrush = "rgba(0,0,0,0)";
        var brush;

        $(function () {

            var data = [
                { "CountryName": "China", "Pop1995": 1216, "Pop2005": 1297, "Pop2015": 1361, "Pop2025": 1394 },
                { "CountryName": "India", "Pop1995": 920, "Pop2005": 1090, "Pop2015": 1251, "Pop2025": 1396 },
                { "CountryName": "United States", "Pop1995": 266, "Pop2005": 295, "Pop2015": 322, "Pop2025": 351 },
                { "CountryName": "Indonesia", "Pop1995": 197, "Pop2005": 229, "Pop2015": 256, "Pop2025": 277 },
                { "CountryName": "Brazil", "Pop1995": 161, "Pop2005": 186, "Pop2015": 204, "Pop2025": 218 }
            ];

            $("#chart").igDataChart({
                width: "450px",
                height: "400px",
                title: "Population per Country",
                subtitle: "A comparison of population in 1995 and 2005",
                dataSource: data,
                horizontalZoomable: true,
                verticalZoomable: true,
                windowResponse: "immediate",
                axes: [
                {
                    name: "xAxis",
                    type: "categoryX",
                    title: "Country",
                    label: "CountryName",

                    majorStroke: "Green",
                    minorStroke: 'Red',
                    minorInterval: 2,
                    interval: 2,
                    majorStrokeThickness: 2,
                },
                {
                    name: "yAxis",
                    type: "numericY",
                    minimumValue: 0,
                    title: "Millions of People",

                    majorStroke: "Green",
                    minorStroke: 'Red',
                    minorInterval: 100,
                    interval: 200,
                    majorStrokeThickness: 2,
                }
                ],
                series: [
                {
                    name: "2005Population",
                    type: "column",
                    isTransitionInEnabled: true,
                    xAxis: "xAxis",
                    yAxis: "yAxis",
                    valueMemberPath: "Pop2005"
                },
                {
                    name: "1995Population",
                    type: "column",
                    isTransitionInEnabled: true,
                    xAxis: "xAxis",
                    yAxis: "yAxis",
                    valueMemberPath: "Pop1995"
                }]
            })

        $("#XAxisMajorLinesCheckbox").click(function (e) {
            brush = $("#XAxisMajorLinesCheckbox").is(":checked") ? "Green" : transparentBrush;
            $("#chart").igDataChart("option", "axes", [{ name: "xAxis", majorStroke: brush }]);
            $("#chart").igDataChart("styleUpdated");
        });

        $("#XAxisMinorLinesCheckbox").click("change", function () {
            brush = ($(this).is(":checked")) ? "Red" : transparentBrush;
            $("#chart").igDataChart("option", "axes", [{ name: "xAxis", minorStroke: brush }]);
            $("#chart").igDataChart("styleUpdated");
        });

        $("#YAxisMajorLinesCheckbox").click("change", function () {
            brush = ($(this).is(":checked")) ? "Green" : transparentBrush;
            $("#chart").igDataChart("option", "axes", [{ name: "yAxis", majorStroke: brush }]);
            $("#chart").igDataChart("styleUpdated");
        });

        $("#YAxisMinorLinesCheckbox").click("change", function () {
            brush = ($(this).is(":checked")) ? "Red" : transparentBrush;
            $("#chart").igDataChart("option", "axes", [{ name: "yAxis", minorStroke: brush }]);
            $("#chart").igDataChart("styleUpdated");
        });

        $("#XAxisMajorGridlinesThicknessSlider").slider({
            min: 1,
            max: 10,
            value: 2,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "xAxis", majorStrokeThickness: ui.value }
                ]);
                $("#XAxisMajorGridlinesThicknessLabel").text(ui.value);
            }
        });

        $("#XAxisMinorGridlinesThicknessSlider").slider({
            min: 1,
            max: 10,
            value: 1,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "xAxis", minorStrokeThickness: ui.value }
                ]);
                $("#XAxisMinorGridlinesThicknessLabel").text(ui.value);
            }
        });

        $("#YAxisMajorGridlinesThicknessSlider").slider({
            min: 1,
            max: 10,
            value: 2,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "yAxis", majorStrokeThickness: ui.value }
                ]);
                $("#YAxisMajorGridlinesThicknessLabel").text(ui.value);
            }
        });

        $("#YAxisMinorGridlinesThicknessSlider").slider({
            min: 1,
            max: 10,
            value: 1,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "yAxis", minorStrokeThickness: ui.value }
                ]);
                $("#YAxisMinorGridlinesThicknessLabel").text(ui.value);
            }
        });

        $("#XAxisMajorGridlinesIntervalSlider").slider({
            min: 1,
            max: 5,
            value: 1,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "xAxis", interval: ui.value }
                ]);
                $("#XAxisMajorGridlinesIntervalLabel").text(ui.value.toFixed(0));
            }
        });
        $("#YAxisMajorGridlinesIntervalSlider").slider({
            min: 100,
            max: 1000,
            value: 200,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "yAxis", interval: ui.value }
                ]);
                $("#YAxisMajorGridlinesIntervalLabel").text(ui.value.toFixed(0));
            }
        });

        $("#XAxisMinorGridlinesIntervalSlider").slider({
            min: 1,
            max: 10,
            value: 50,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "xAxis", minorInterval: (ui.value * .1) }
                ]);
                var num = ui.value * 0.1;
                $("#XAxisMinorGridlinesIntervalLabel").text(num.toFixed(2));
            }
        });
        $("#YAxisMinorGridlinesIntervalSlider").slider({
            min: 1,
            max: 20,
            value: 10,
            slide: function (e, ui) {
                $("#chart").igDataChart("option", "axes", [
                    { name: "yAxis", minorInterval: (ui.value * 10) }
                ]);
                $("#YAxisMinorGridlinesIntervalLabel").text(ui.value * 10);
            }
        });

        });
    </script>

    <style type="text/css">
        .chart {
            position: relative;
            float: left;
            margin-right: 10px;
        }

        .slider {
            width: 250px;
            margin: 10px 10px 4px 6px;
            padding-right: 3px;
            padding-left: 3px;
            display: inline-block;
            float: left;
        } 

        .optionsPane {
            position: relative;
            float: initial;
            width: 270px;
            margin: 6px 3px 6px 6px;
            display: inline-block;
            padding-top: 18px;
        }
         
        .optionsColumn {
            float: left;
            position: relative;
            margin: 2px;
            padding: 2px;
            display: inline-block;
            -moz-border-radius: 4px;
            -webkit-border-radius: 4px;
            border-radius: 4px;
            border: 1px solid #e0e0e0;
        }

        .labels {
            padding-right: 2px;
        }

        .values {
            padding-left: 2px;
            padding-right: 0px;
            width: 30px;
        }
         
    </style>

    <div class="chart" id="chart"></div>
    <div >
        <div class="optionsPane">
            <div><b>XAxis Options</b></div>
            <div class="optionsColumn">
                <label class="labels">Major Gridlines Visible:</label>
                <input id="XAxisMajorLinesCheckbox" type="checkbox" class="chkBoxMargin" checked />
                <div>
                    <label class="labels">Major Gridlines Thickness:</label>
                    <label id="XAxisMajorGridlinesThicknessLabel" class="values">1</label>
                    <div   id="XAxisMajorGridlinesThicknessSlider" class="slider"></div>
                </div>
                <div>
                    <label class="labels">Major Gridlines Interval:</label>
                    <label id="XAxisMajorGridlinesIntervalLabel" class="values">1</label>
                    <div   id="XAxisMajorGridlinesIntervalSlider" class="slider"></div>
                </div>
            </div>
            <div>
                <div class="optionsColumn">
                    <label class="labels">Minor Gridlines Visible:</label>
                    <input id="XAxisMinorLinesCheckbox" type="checkbox" class="chkBoxMargin" checked />
                    <div>
                        <label class="labels">Minor Gridlines Thickness:</label>
                        <label id="XAxisMinorGridlinesThicknessLabel" class="values">1</label>
                        <div   id="XAxisMinorGridlinesThicknessSlider" class="slider"></div>
                    </div>
                    <div>
                        <label class="labels">Minor Gridlines Interval:</label>
                        <label id="XAxisMinorGridlinesIntervalLabel" class="values">5</label>
                        <div   id="XAxisMinorGridlinesIntervalSlider" class="slider"></div>
                    </div>
                </div>
            </div>
        </div>
        <div class="optionsPane">
            <div><b>YAxis Options</b></div>
            <div class="optionsColumn">
                <label class="labels">Major Gridlines Visible:</label>
                <input id="YAxisMajorLinesCheckbox" type="checkbox" class="chkBoxMargin" checked />
                <div>
                    <label class="labels">Major Gridlines Thickness:</label>
                    <label id="YAxisMajorGridlinesThicknessLabel" class="values">1</label>
                    <div   id="YAxisMajorGridlinesThicknessSlider" class="slider"></div>
                </div>
                <div>
                    <label class="labels">Major Gridlines Interval:</label>
                    <label id="YAxisMajorGridlinesIntervalLabel" class="values">200</label>
                    <div   id="YAxisMajorGridlinesIntervalSlider" class="slider"></div>
                </div>
            </div>
            <div class="optionsColumn">
                <label class="labels">Minor Gridlines Visible:</label>
                <input id="yAxisMinorLinesCheckbox" type="checkbox" class="chkBoxMargin" checked />
                <div>
                    <label class="labels">Minor Gridlines Thickness:</label>
                    <label id="YAxisMinorGridlinesThicknessLabel" class="values">1</label>
                    <div   id="YAxisMinorGridlinesThicknessSlider" class="slider"></div>
                </div>
                <div>
                    <label class="labels">Minor Gridlines Interval:</label>
                    <label id="YAxisMinorGridlinesIntervalLabel" class="values">10</label>
                    <div   id="YAxisMinorGridlinesIntervalSlider" class="slider"></div>
                </div>
            </div>
        </div>
    </div>
    <div class="USCensus-attribution">
        Population data from:<br />
        <a href="http://www.census.gov/" target="_blank">U.S. Census Bureau</a>
    </div>
</body>
</html>