Like any other graph in CanvasJS, Stacked Area 100% Charts can have numerical, category or date time axis. Graphs with date-time axis is also popularly known as timeline graph. You can use JavaScript Date Objects or Timestamps as X value in data point for Date-Time axis. Given example shows Stacked Area 100% Chart with Date-Time Axis and contains source code that you can edit in-browser or save to run it locally.
window.onload = function () { var chart = new CanvasJS.Chart("chartContainer", { title:{ text: "Percentage of People Involved in Traffic Accidents by Modes of Transport" }, theme: "light2", // "light1", "light2", "dark1", "dark2" animationEnabled: true, axisX: { interval: 1, intervalType: "month" }, toolTip: { shared: true }, data: [ { type: "stackedArea100", name: "Cars", xValueFormatString: "MMM, YYYY", showInLegend: "true", dataPoints: [ { x: new Date(2016, 00, 1), y: 1100 }, { x: new Date(2016, 01, 1), y: 1200 }, { x: new Date(2016, 02, 1), y: 1000 }, { x: new Date(2016, 03, 1), y: 1200 }, { x: new Date(2016, 04, 1), y: 1600 }, { x: new Date(2016, 05, 1), y: 1800 }, { x: new Date(2016, 06, 1), y: 1400 }, { x: new Date(2016, 07, 1), y: 1500 }, { x: new Date(2016, 08, 1), y: 1600 }, { x: new Date(2016, 09, 1), y: 1800 } ] }, { type: "stackedArea100", name: "Trucks", showInLegend: "true", dataPoints: [ { x: new Date(2016, 00, 1), y: 150 }, { x: new Date(2016, 01, 1), y: 171 }, { x: new Date(2016, 02, 1), y: 155 }, { x: new Date(2016, 03, 1), y: 150 }, { x: new Date(2016, 04, 1), y: 165 }, { x: new Date(2016, 05, 1), y: 195 }, { x: new Date(2016, 06, 1), y: 155 }, { x: new Date(2016, 07, 1), y: 145 }, { x: new Date(2016, 08, 1), y: 140 }, { x: new Date(2016, 09, 1), y: 151 } ] }, { type: "stackedArea100", name: "Bicycles", showInLegend: "true", dataPoints: [ { x: new Date(2016, 00, 1), y: 71 }, { x: new Date(2016, 01, 1), y: 41 }, { x: new Date(2016, 02, 1), y: 55 }, { x: new Date(2016, 03, 1), y: 50 }, { x: new Date(2016, 04, 1), y: 65 }, { x: new Date(2016, 05, 1), y: 95 }, { x: new Date(2016, 06, 1), y: 45 }, { x: new Date(2016, 07, 1), y: 95 }, { x: new Date(2016, 08, 1), y: 60 }, { x: new Date(2016, 09, 1), y: 40 } ] }, { type: "stackedArea100", name: "Motorcycles", showInLegend: "true", dataPoints: [ { x: new Date(2016, 00, 1), y: 861 }, { x: new Date(2016, 01, 1), y: 761 }, { x: new Date(2016, 02, 1), y: 775 }, { x: new Date(2016, 03, 1), y: 680 }, { x: new Date(2016, 04, 1), y: 785 }, { x: new Date(2016, 05, 1), y: 374 }, { x: new Date(2016, 06, 1), y: 365 }, { x: new Date(2016, 07, 1), y: 455 }, { x: new Date(2016, 08, 1), y: 657 }, { x: new Date(2016, 09, 1), y: 659 } ] }, { type: "stackedArea100", name: "Pedistrians", showInLegend: "true", dataPoints: [ { x: new Date(2016, 00, 1), y: 220 }, { x: new Date(2016, 01, 1), y: 240 }, { x: new Date(2016, 02, 1), y: 295 }, { x: new Date(2016, 03, 1), y: 300 }, { x: new Date(2016, 04, 1), y: 265 }, { x: new Date(2016, 05, 1), y: 235 }, { x: new Date(2016, 06, 1), y: 245 }, { x: new Date(2016, 07, 1), y: 255 }, { x: new Date(2016, 08, 1), y: 275 }, { x: new Date(2016, 09, 1), y: 290 } ] } ] }); chart.render(); }
You can select interval and intervalType for axis to change the interval of axis labels. Some other customizations include minimum, maximum, viewportMinimum, viewportMaximum, zoomEnabled, etc.