Using RequireJS

amCharts 4 can be used with RequireJS after some configuration.

Firstly, add the RequireJS dependency

<script src="/scripts/vendors/require.js"></script>

NOTE Please notice "/scripts/vendors" is a suggested location for the purpose of this tutorial.

Include amCharts 4

Download amCharts 4 from the zip file and add it to the "/scripts/vendors" folder.

Configuring RequireJS

Please check more about how to configure RequireJS here.

You will need to add shims for the core, charts and your chosen theme. amCharts 4 loads its scripts on the global scope and the module needs to be return using the init method.

charts and themes need to dependent on the core.

<script>
require.config({
    baseUrl: "/scripts/vendors",
    shim: {
        'amcharts4/core': {
            init: function () {
                return window.am4core;
            }
        },
        'amcharts4/charts': {
            deps: ['amcharts4/core'],
            exports: 'amcharts4/charts',
            init: function () {
                return window.am4charts;
            }
        },
        'amcharts4/themes/animated': {
            deps: ['amcharts4/core'],
            exports: 'amcharts4/themes/animated',
            init: function () {
                return window.am4themes_animated;
            }
        }
    }
});
</script>

Create your first chart with RequireJS

Add the tag to render the chart.

<div id="chartdiv"></div>

Add the chart dimensions using CSS.

<style>
#chartdiv {
    width: 400px;
    height: 400px;
}
</style>

Now you can require the desired modules and create the chart.

<script>
require([
    'amcharts4/core',
    'amcharts4/charts',
    'amcharts4/themes/animated'
], function (am4core, am4charts, am4themes_animated) {

    am4core.useTheme(am4themes_animated);

    // Create chart instance
    var chart = am4core.create("chartdiv", am4charts.PieChart);

    // Add data
    chart.data = [{
        "country": "Lithuania",
        "litres": 501.9
    }, {
        "country": "Czech Republic",
        "litres": 301.9
    }, {
        "country": "Ireland",
        "litres": 201.1
    }, {
        "country": "Germany",
        "litres": 165.8
    }, {
        "country": "Australia",
        "litres": 139.9
    }, {
        "country": "Austria",
        "litres": 128.3
    }, {
        "country": "UK",
        "litres": 99
    }, {
        "country": "Belgium",
        "litres": 60
    }, {
        "country": "The Netherlands",
        "litres": 50
    }];

    // Add and configure Series
    var pieSeries = chart.series.push(new am4charts.PieSeries());
    pieSeries.dataFields.value = "litres";
    pieSeries.dataFields.category = "country";

    // Add export
    chart.exporting.menu = new am4core.ExportMenu();

});
</script>

Full example

The HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>AmCharts</title>

    <link rel="stylesheet" href="/styles/app.css">

</head>
<body>

    <div id="chartdiv"></div>

    <script src="/scripts/vendors/require.js"></script>
    <script>
        require.config({
            baseUrl: "/scripts/vendors",
            shim: {
                'amcharts4/core': {
                    init: function () {
                        return window.am4core;
                    }
                },
                'amcharts4/charts': {
                    deps: ['amcharts4/core'],
                    exports: 'amcharts4/charts',
                    init: function () {
                        return window.am4charts;
                    }
                },
                'amcharts4/themes/animated': {
                    deps: ['amcharts4/core'],
                    exports: 'amcharts4/themes/animated',
                    init: function () {
                        return window.am4themes_animated;
                    }
                }
            }
        });
    </script>
	<script src="/scripts/chart.js"></script>

</body>
</html>

The CSS

#chartdiv {
    width: 400px;
    height: 400px;
}

The JavaScript

require([
    'amcharts4/core',
    'amcharts4/charts',
    'amcharts4/themes/animated'
], function (am4core, am4charts, am4themes_animated) {

    am4core.useTheme(am4themes_animated);

    // Create chart instance
    var chart = am4core.create("chartdiv", am4charts.PieChart);

    // Add data
    chart.data = [{
        "country": "Lithuania",
        "litres": 501.9
    }, {
        "country": "Czech Republic",
        "litres": 301.9
    }, {
        "country": "Ireland",
        "litres": 201.1
    }, {
        "country": "Germany",
        "litres": 165.8
    }, {
        "country": "Australia",
        "litres": 139.9
    }, {
        "country": "Austria",
        "litres": 128.3
    }, {
        "country": "UK",
        "litres": 99
    }, {
        "country": "Belgium",
        "litres": 60
    }, {
        "country": "The Netherlands",
        "litres": 50
    }];

    // Add and configure Series
    var pieSeries = chart.series.push(new am4charts.PieSeries());
    pieSeries.dataFields.value = "litres";
    pieSeries.dataFields.category = "country";

    // Add export
    chart.exporting.menu = new am4core.ExportMenu();

});

Download the example

You can download the example and run it if you have NodeJS and npm installed.

Run the following commands on the root.

npm i && node server.js

NOTE Make sure you download the newest amCharts 4 version.