Using RequireJS
amCharts 4 can be used with RequireJS after some configuration.
Firstly, add the RequireJS dependency
Section titled “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
Section titled “Include amCharts 4”Download amCharts 4 from the zip file and add it to the "/scripts/vendors" folder.
Configuring RequireJS
Section titled “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
Section titled “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
Section titled “Full example”The HTML
Section titled “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
Section titled “The CSS”#chartdiv { width: 400px; height: 400px;}The JavaScript
Section titled “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
Section titled “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.