Automatically grouping date axis months into years using axis ranges
This demo shows how we can automatically group month labels of a DateAxis into years using axis ranges.
/** * --------------------------------------- * This demo was created using amCharts 5. * * For more information visit: * https://www.amcharts.com/ * * Documentation is available at: * https://www.amcharts.com/docs/v5/ * --------------------------------------- */
// Create root element// https://www.amcharts.com/docs/v5/getting-started/#Root_elementvar root = am5.Root.new("chartdiv");
// Set themes// https://www.amcharts.com/docs/v5/concepts/themes/root.setThemes([am5themes_Animated.new(root)]);
// Create chart// https://www.amcharts.com/docs/v5/charts/xy-chart/var chart = root.container.children.push( am5xy.XYChart.new(root, { panX: false, panY: false, wheelX: "panX", wheelY: "zoomX", paddingLeft: 0 }));
// Add cursor// https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/var cursor = chart.set( "cursor", am5xy.XYCursor.new(root, { behavior: "zoomX" }));
cursor.lineY.set("visible", false);
var date = new Date();date.setHours(0, 0, 0, 0);var value = 100;
function generateData() { value = Math.round(Math.random() * 10 - 5 + value); am5.time.add(date, "day", 1); return { date: date.getTime(), value: value };}
function generateDatas(count) { var data = []; for (var i = 0; i < count; ++i) { data.push(generateData()); } return data;}
// Create axes// https://www.amcharts.com/docs/v5/charts/xy-chart/axes/var xAxis = chart.xAxes.push( am5xy.DateAxis.new(root, { maxDeviation: 0, groupData: true, baseInterval: { timeUnit: "day", count: 1 },
renderer: am5xy.AxisRendererX.new(root, { minGridDistance: 30 }),
tooltip: am5.Tooltip.new(root, {}) }));
xAxis.get("renderer").labels.template.setAll({ multiLocation: 0.5});
xAxis.get("periodChangeDateFormats")["month"] = "MMM";
var yAxis = chart.yAxes.push( am5xy.ValueAxis.new(root, { renderer: am5xy.AxisRendererY.new(root, {}) }));
// Add series// https://www.amcharts.com/docs/v5/charts/xy-chart/series/var series = chart.series.push( am5xy.LineSeries.new(root, { name: "Series", xAxis: xAxis, yAxis: yAxis, valueYField: "value", valueXField: "date", tooltip: am5.Tooltip.new(root, { labelText: "{valueY}" }) }));
// Add scrollbar// https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/chart.set( "scrollbarX", am5.Scrollbar.new(root, { orientation: "horizontal" }));
var data = generateDatas(900);series.data.setAll(data);
// Add axis ranges for yearsseries.events.on("datavalidated", function () { var min = new Date(xAxis.getPrivate("min")); var max = new Date(xAxis.getPrivate("max")); var current = new Date(min); while (current < max) { var startDate = new Date(current); startDate.setMonth(0, 1, 0, 0, 0, 0); var endDate = new Date(current); endDate.setMonth(11, 31, 23, 59, 59, 999); createRange(startDate, endDate); current.setFullYear(current.getFullYear() + 1); }});
// Create axis rangesfunction createRange(startDate, endDate) { var rangeDataItem = xAxis.makeDataItem({ value: startDate.getTime(), endValue: endDate.getTime() });
var range = xAxis.createAxisRange(rangeDataItem);
range.get("label").setAll({ fill: am5.color(0x000000), text: startDate.getFullYear() + "", location: 0.5, dy: 30, fontWeight: "bold" });
range.get("grid").setAll({ strokeOpacity: 1, location: 1 });
range.get("tick").setAll({ visible: true, length: 60, location: 1 });}
// Make stuff animate on load// https://www.amcharts.com/docs/v5/concepts/animations/series.appear(1000);chart.appear(1000, 100);<div id="chartdiv"></div>body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";}
#chartdiv { width: 100%; height: 95vh;}{ "type": "XYChart", "settings": { "panX": false, "panY": false, "wheelX": "panX", "wheelY": "zoomX", "paddingLeft": 0, "cursor": { "type": "XYCursor", "settings": { "behavior": "zoomX" }, "properties": { "lineY": { "settings": { "visible": false } } } }, "scrollbarX": { "type": "Scrollbar", "settings": { "orientation": "horizontal" } } }, "properties": { "series": [ "#series-0" ], "xAxes": [ "#axis-0" ], "yAxes": [ "#axis-1" ] }, "refs": [ { "data-0": [ { "date": 1792875600000, "value": 99 }, { "date": 1792965600000, "value": 101 }, { "date": 1793052000000, "value": 99 }, { "date": 1793138400000, "value": 104 }, { "date": 1793224800000, "value": 105 }, { "date": 1793311200000, "value": 103 }, { "date": 1793397600000, "value": 104 }, { "date": 1793484000000, "value": 105 }, { "date": 1793570400000, "value": 108 }, { "date": 1793656800000, "value": 108 }, { "date": 1793743200000, "value": 108 }, { "date": 1793829600000, "value": 106 }, { "date": 1793916000000, "value": 101 }, { "date": 1794002400000, "value": 97 }, { "date": 1794088800000, "value": 94 }, { "date": 1794175200000, "value": 93 }, { "date": 1794261600000, "value": 97 }, { "date": 1794348000000, "value": 94 }, { "date": 1794434400000, "value": 96 }, { "date": 1794520800000, "value": 93 }, { "date": 1794607200000, "value": 93 }, { "date": 1794693600000, "value": 91 }, { "date": 1794780000000, "value": 87 }, { "date": 1794866400000, "value": 90 }, { "date": 1794952800000, "value": 91 }, { "date": 1795039200000, "value": 93 }, { "date": 1795125600000, "value": 91 }, { "date": 1795212000000, "value": 87 }, { "date": 1795298400000, "value": 86 }, { "date": 1795384800000, "value": 89 }, { "date": 1795471200000, "value": 94 }, { "date": 1795557600000, "value": 90 }, { "date": 1795644000000, "value": 92 }, { "date": 1795730400000, "value": 91 }, { "date": 1795816800000, "value": 95 }, { "date": 1795903200000, "value": 94 }, { "date": 1795989600000, "value": 99 }, { "date": 1796076000000, "value": 103 }, { "date": 1796162400000, "value": 107 }, { "date": 1796248800000, "value": 108 }, { "date": 1796335200000, "value": 104 }, { "date": 1796421600000, "value": 102 }, { "date": 1796508000000, "value": 98 }, { "date": 1796594400000, "value": 102 }, { "date": 1796680800000, "value": 100 }, { "date": 1796767200000, "value": 104 }, { "date": 1796853600000, "value": 103 }, { "date": 1796940000000, "value": 104 }, { "date": 1797026400000, "value": 105 }, { "date": 1797112800000, "value": 105 }, { "date": 1797199200000, "value": 100 }, { "date": 1797285600000, "value": 103 }, { "date": 1797372000000, "value": 100 }, { "date": 1797458400000, "value": 101 }, { "date": 1797544800000, "value": 98 }, { "date": 1797631200000, "value": 96 }, { "date": 1797717600000, "value": 97 }, { "date": 1797804000000, "value": 101 }, { "date": 1797890400000, "value": 98 }, { "date": 1797976800000, "value": 94 }, { "date": 1798063200000, "value": 94 }, { "date": 1798149600000, "value": 91 }, { "date": 1798236000000, "value": 94 }, { "date": 1798322400000, "value": 96 }, { "date": 1798408800000, "value": 101 }, { "date": 1798495200000, "value": 105 }, { "date": 1798581600000, "value": 102 }, { "date": 1798668000000, "value": 98 }, { "date": 1798754400000, "value": 95 }, { "date": 1798840800000, "value": 95 }, { "date": 1798927200000, "value": 93 }, { "date": 1799013600000, "value": 95 }, { "date": 1799100000000, "value": 91 }, { "date": 1799186400000, "value": 96 }, { "date": 1799272800000, "value": 99 }, { "date": 1799359200000, "value": 96 }, { "date": 1799445600000, "value": 97 }, { "date": 1799532000000, "value": 97 }, { "date": 1799618400000, "value": 98 }, { "date": 1799704800000, "value": 97 }, { "date": 1799791200000, "value": 97 }, { "date": 1799877600000, "value": 98 }, { "date": 1799964000000, "value": 97 }, { "date": 1800050400000, "value": 97 }, { "date": 1800136800000, "value": 101 }, { "date": 1800223200000, "value": 97 }, { "date": 1800309600000, "value": 93 }, { "date": 1800396000000, "value": 96 }, { "date": 1800482400000, "value": 94 }, { "date": 1800568800000, "value": 95 }, { "date": 1800655200000, "value": 97 }, { "date": 1800741600000, "value": 93 }, { "date": 1800828000000, "value": 91 }, { "date": 1800914400000, "value": 93 }, { "date": 1801000800000, "value": 95 }, { "date": 1801087200000, "value": 98 }, { "date": 1801173600000, "value": 95 }, { "date": 1801260000000, "value": 95 }, { "date": 1801346400000, "value": 98 }, { "date": 1801432800000, "value": 100 }, { "date": 1801519200000, "value": 96 }, { "date": 1801605600000, "value": 92 }, { "date": 1801692000000, "value": 90 }, { "date": 1801778400000, "value": 87 }, { "date": 1801864800000, "value": 89 }, { "date": 1801951200000, "value": 85 }, { "date": 1802037600000, "value": 81 }, { "date": 1802124000000, "value": 81 }, { "date": 1802210400000, "value": 84 }, { "date": 1802296800000, "value": 82 }, { "date": 1802383200000, "value": 84 }, { "date": 1802469600000, "value": 87 }, { "date": 1802556000000, "value": 84 }, { "date": 1802642400000, "value": 87 }, { "date": 1802728800000, "value": 90 }, { "date": 1802815200000, "value": 94 }, { "date": 1802901600000, "value": 95 }, { "date": 1802988000000, "value": 95 }, { "date": 1803074400000, "value": 94 }, { "date": 1803160800000, "value": 93 }, { "date": 1803247200000, "value": 93 }, { "date": 1803333600000, "value": 91 }, { "date": 1803420000000, "value": 95 }, { "date": 1803506400000, "value": 94 }, { "date": 1803592800000, "value": 91 }, { "date": 1803679200000, "value": 88 }, { "date": 1803765600000, "value": 87 }, { "date": 1803852000000, "value": 82 }, { "date": 1803938400000, "value": 81 }, { "date": 1804024800000, "value": 83 }, { "date": 1804111200000, "value": 80 }, { "date": 1804197600000, "value": 81 }, { "date": 1804284000000, "value": 83 }, { "date": 1804370400000, "value": 84 }, { "date": 1804456800000, "value": 87 }, { "date": 1804543200000, "value": 91 }, { "date": 1804629600000, "value": 91 }, { "date": 1804716000000, "value": 89 }, { "date": 1804802400000, "value": 92 }, { "date": 1804888800000, "value": 92 }, { "date": 1804975200000, "value": 94 }, { "date": 1805061600000, "value": 90 }, { "date": 1805148000000, "value": 93 }, { "date": 1805234400000, "value": 93 }, { "date": 1805320800000, "value": 95 }, { "date": 1805407200000, "value": 91 }, { "date": 1805493600000, "value": 95 }, { "date": 1805580000000, "value": 92 }, { "date": 1805666400000, "value": 93 }, { "date": 1805752800000, "value": 93 }, { "date": 1805839200000, "value": 95 }, { "date": 1805925600000, "value": 97 }, { "date": 1806012000000, "value": 95 }, { "date": 1806098400000, "value": 93 }, { "date": 1806184800000, "value": 89 }, { "date": 1806267600000, "value": 92 }, { "date": 1806354000000, "value": 89 }, { "date": 1806440400000, "value": 91 }, { "date": 1806526800000, "value": 92 }, { "date": 1806613200000, "value": 95 }, { "date": 1806699600000, "value": 92 }, { "date": 1806786000000, "value": 90 }, { "date": 1806872400000, "value": 90 }, { "date": 1806958800000, "value": 93 }, { "date": 1807045200000, "value": 97 }, { "date": 1807131600000, "value": 93 }, { "date": 1807218000000, "value": 93 }, { "date": 1807304400000, "value": 96 }, { "date": 1807390800000, "value": 97 }, { "date": 1807477200000, "value": 98 }, { "date": 1807563600000, "value": 95 }, { "date": 1807650000000, "value": 98 }, { "date": 1807736400000, "value": 100 }, { "date": 1807822800000, "value": 102 }, { "date": 1807909200000, "value": 107 }, { "date": 1807995600000, "value": 103 }, { "date": 1808082000000, "value": 99 }, { "date": 1808168400000, "value": 101 }, { "date": 1808254800000, "value": 97 }, { "date": 1808341200000, "value": 92 }, { "date": 1808427600000, "value": 96 }, { "date": 1808514000000, "value": 97 }, { "date": 1808600400000, "value": 102 }, { "date": 1808686800000, "value": 105 }, { "date": 1808773200000, "value": 110 }, { "date": 1808859600000, "value": 110 }, { "date": 1808946000000, "value": 111 }, { "date": 1809032400000, "value": 111 }, { "date": 1809118800000, "value": 113 }, { "date": 1809205200000, "value": 113 }, { "date": 1809291600000, "value": 109 }, { "date": 1809378000000, "value": 113 }, { "date": 1809464400000, "value": 117 }, { "date": 1809550800000, "value": 113 }, { "date": 1809637200000, "value": 110 }, { "date": 1809723600000, "value": 113 }, { "date": 1809810000000, "value": 112 }, { "date": 1809896400000, "value": 112 }, { "date": 1809982800000, "value": 114 }, { "date": 1810069200000, "value": 119 }, { "date": 1810155600000, "value": 119 }, { "date": 1810242000000, "value": 119 }, { "date": 1810328400000, "value": 116 }, { "date": 1810414800000, "value": 114 }, { "date": 1810501200000, "value": 112 }, { "date": 1810587600000, "value": 108 }, { "date": 1810674000000, "value": 103 }, { "date": 1810760400000, "value": 107 }, { "date": 1810846800000, "value": 105 }, { "date": 1810933200000, "value": 106 }, { "date": 1811019600000, "value": 108 }, { "date": 1811106000000, "value": 104 }, { "date": 1811192400000, "value": 106 }, { "date": 1811278800000, "value": 110 }, { "date": 1811365200000, "value": 114 }, { "date": 1811451600000, "value": 111 }, { "date": 1811538000000, "value": 113 }, { "date": 1811624400000, "value": 117 }, { "date": 1811710800000, "value": 112 }, { "date": 1811797200000, "value": 107 }, { "date": 1811883600000, "value": 111 }, { "date": 1811970000000, "value": 109 }, { "date": 1812056400000, "value": 107 }, { "date": 1812142800000, "value": 108 }, { "date": 1812229200000, "value": 107 }, { "date": 1812315600000, "value": 108 }, { "date": 1812402000000, "value": 109 }, { "date": 1812488400000, "value": 105 }, { "date": 1812574800000, "value": 101 }, { "date": 1812661200000, "value": 98 }, { "date": 1812747600000, "value": 101 }, { "date": 1812834000000, "value": 102 }, { "date": 1812920400000, "value": 106 }, { "date": 1813006800000, "value": 106 }, { "date": 1813093200000, "value": 105 }, { "date": 1813179600000, "value": 102 }, { "date": 1813266000000, "value": 97 }, { "date": 1813352400000, "value": 94 }, { "date": 1813438800000, "value": 98 }, { "date": 1813525200000, "value": 99 }, { "date": 1813611600000, "value": 96 }, { "date": 1813698000000, "value": 100 }, { "date": 1813784400000, "value": 102 }, { "date": 1813870800000, "value": 99 }, { "date": 1813957200000, "value": 100 }, { "date": 1814043600000, "value": 104 }, { "date": 1814130000000, "value": 107 }, { "date": 1814216400000, "value": 104 }, { "date": 1814302800000, "value": 108 }, { "date": 1814389200000, "value": 109 }, { "date": 1814475600000, "value": 110 }, { "date": 1814562000000, "value": 110 }, { "date": 1814648400000, "value": 109 }, { "date": 1814734800000, "value": 110 }, { "date": 1814821200000, "value": 107 }, { "date": 1814907600000, "value": 111 }, { "date": 1814994000000, "value": 108 }, { "date": 1815080400000, "value": 106 }, { "date": 1815166800000, "value": 103 }, { "date": 1815253200000, "value": 107 }, { "date": 1815339600000, "value": 110 }, { "date": 1815426000000, "value": 107 }, { "date": 1815512400000, "value": 105 }, { "date": 1815598800000, "value": 107 }, { "date": 1815685200000, "value": 110 }, { "date": 1815771600000, "value": 111 }, { "date": 1815858000000, "value": 114 }, { "date": 1815944400000, "value": 113 }, { "date": 1816030800000, "value": 116 }, { "date": 1816117200000, "value": 117 }, { "date": 1816203600000, "value": 117 }, { "date": 1816290000000, "value": 114 }, { "date": 1816376400000, "value": 115 }, { "date": 1816462800000, "value": 116 }, { "date": 1816549200000, "value": 120 }, { "date": 1816635600000, "value": 115 }, { "date": 1816722000000, "value": 115 }, { "date": 1816808400000, "value": 119 }, { "date": 1816894800000, "value": 121 }, { "date": 1816981200000, "value": 118 }, { "date": 1817067600000, "value": 122 }, { "date": 1817154000000, "value": 127 }, { "date": 1817240400000, "value": 131 }, { "date": 1817326800000, "value": 131 }, { "date": 1817413200000, "value": 132 }, { "date": 1817499600000, "value": 128 }, { "date": 1817586000000, "value": 126 }, { "date": 1817672400000, "value": 127 }, { "date": 1817758800000, "value": 131 }, { "date": 1817845200000, "value": 130 }, { "date": 1817931600000, "value": 133 }, { "date": 1818018000000, "value": 129 }, { "date": 1818104400000, "value": 126 }, { "date": 1818190800000, "value": 127 }, { "date": 1818277200000, "value": 127 }, { "date": 1818363600000, "value": 122 }, { "date": 1818450000000, "value": 125 }, { "date": 1818536400000, "value": 127 }, { "date": 1818622800000, "value": 128 }, { "date": 1818709200000, "value": 123 }, { "date": 1818795600000, "value": 118 }, { "date": 1818882000000, "value": 122 }, { "date": 1818968400000, "value": 127 }, { "date": 1819054800000, "value": 126 }, { "date": 1819141200000, "value": 131 }, { "date": 1819227600000, "value": 133 }, { "date": 1819314000000, "value": 137 }, { "date": 1819400400000, "value": 142 }, { "date": 1819486800000, "value": 138 }, { "date": 1819573200000, "value": 143 }, { "date": 1819659600000, "value": 141 }, { "date": 1819746000000, "value": 139 }, { "date": 1819832400000, "value": 134 }, { "date": 1819918800000, "value": 133 }, { "date": 1820005200000, "value": 136 }, { "date": 1820091600000, "value": 136 }, { "date": 1820178000000, "value": 134 }, { "date": 1820264400000, "value": 135 }, { "date": 1820350800000, "value": 133 }, { "date": 1820437200000, "value": 130 }, { "date": 1820523600000, "value": 130 }, { "date": 1820610000000, "value": 129 }, { "date": 1820696400000, "value": 124 }, { "date": 1820782800000, "value": 122 }, { "date": 1820869200000, "value": 122 }, { "date": 1820955600000, "value": 117 }, { "date": 1821042000000, "value": 114 }, { "date": 1821128400000, "value": 109 }, { "date": 1821214800000, "value": 106 }, { "date": 1821301200000, "value": 102 }, { "date": 1821387600000, "value": 107 }, { "date": 1821474000000, "value": 109 }, { "date": 1821560400000, "value": 112 }, { "date": 1821646800000, "value": 115 }, { "date": 1821733200000, "value": 118 }, { "date": 1821819600000, "value": 118 }, { "date": 1821906000000, "value": 115 }, { "date": 1821992400000, "value": 119 }, { "date": 1822078800000, "value": 121 }, { "date": 1822165200000, "value": 117 }, { "date": 1822251600000, "value": 118 }, { "date": 1822338000000, "value": 120 }, { "date": 1822424400000, "value": 119 }, { "date": 1822510800000, "value": 118 }, { "date": 1822597200000, "value": 119 }, { "date": 1822683600000, "value": 114 }, { "date": 1822770000000, "value": 109 }, { "date": 1822856400000, "value": 113 }, { "date": 1822942800000, "value": 118 }, { "date": 1823029200000, "value": 123 }, { "date": 1823115600000, "value": 118 }, { "date": 1823202000000, "value": 114 }, { "date": 1823288400000, "value": 117 }, { "date": 1823374800000, "value": 119 }, { "date": 1823461200000, "value": 121 }, { "date": 1823547600000, "value": 126 }, { "date": 1823634000000, "value": 123 }, { "date": 1823720400000, "value": 127 }, { "date": 1823806800000, "value": 123 }, { "date": 1823893200000, "value": 119 }, { "date": 1823979600000, "value": 117 }, { "date": 1824066000000, "value": 113 }, { "date": 1824152400000, "value": 111 }, { "date": 1824238800000, "value": 111 }, { "date": 1824325200000, "value": 110 }, { "date": 1824411600000, "value": 107 }, { "date": 1824498000000, "value": 111 }, { "date": 1824584400000, "value": 113 }, { "date": 1824670800000, "value": 114 }, { "date": 1824757200000, "value": 116 }, { "date": 1824843600000, "value": 114 }, { "date": 1824930000000, "value": 111 }, { "date": 1825020000000, "value": 115 }, { "date": 1825106400000, "value": 118 }, { "date": 1825192800000, "value": 116 }, { "date": 1825279200000, "value": 112 }, { "date": 1825365600000, "value": 110 }, { "date": 1825452000000, "value": 113 }, { "date": 1825538400000, "value": 113 }, { "date": 1825624800000, "value": 112 }, { "date": 1825711200000, "value": 116 }, { "date": 1825797600000, "value": 112 }, { "date": 1825884000000, "value": 107 }, { "date": 1825970400000, "value": 108 }, { "date": 1826056800000, "value": 112 }, { "date": 1826143200000, "value": 112 }, { "date": 1826229600000, "value": 113 }, { "date": 1826316000000, "value": 116 }, { "date": 1826402400000, "value": 113 }, { "date": 1826488800000, "value": 112 }, { "date": 1826575200000, "value": 115 }, { "date": 1826661600000, "value": 119 }, { "date": 1826748000000, "value": 116 }, { "date": 1826834400000, "value": 115 }, { "date": 1826920800000, "value": 118 }, { "date": 1827007200000, "value": 122 }, { "date": 1827093600000, "value": 118 }, { "date": 1827180000000, "value": 120 }, { "date": 1827266400000, "value": 117 }, { "date": 1827352800000, "value": 113 }, { "date": 1827439200000, "value": 115 }, { "date": 1827525600000, "value": 117 }, { "date": 1827612000000, "value": 118 }, { "date": 1827698400000, "value": 123 }, { "date": 1827784800000, "value": 125 }, { "date": 1827871200000, "value": 122 }, { "date": 1827957600000, "value": 121 }, { "date": 1828044000000, "value": 120 }, { "date": 1828130400000, "value": 121 }, { "date": 1828216800000, "value": 121 }, { "date": 1828303200000, "value": 120 }, { "date": 1828389600000, "value": 119 }, { "date": 1828476000000, "value": 120 }, { "date": 1828562400000, "value": 117 }, { "date": 1828648800000, "value": 116 }, { "date": 1828735200000, "value": 120 }, { "date": 1828821600000, "value": 116 }, { "date": 1828908000000, "value": 111 }, { "date": 1828994400000, "value": 107 }, { "date": 1829080800000, "value": 105 }, { "date": 1829167200000, "value": 102 }, { "date": 1829253600000, "value": 102 }, { "date": 1829340000000, "value": 101 }, { "date": 1829426400000, "value": 103 }, { "date": 1829512800000, "value": 107 }, { "date": 1829599200000, "value": 107 }, { "date": 1829685600000, "value": 105 }, { "date": 1829772000000, "value": 103 }, { "date": 1829858400000, "value": 106 }, { "date": 1829944800000, "value": 111 }, { "date": 1830031200000, "value": 111 }, { "date": 1830117600000, "value": 108 }, { "date": 1830204000000, "value": 109 }, { "date": 1830290400000, "value": 106 }, { "date": 1830376800000, "value": 108 }, { "date": 1830463200000, "value": 112 }, { "date": 1830549600000, "value": 114 }, { "date": 1830636000000, "value": 113 }, { "date": 1830722400000, "value": 109 }, { "date": 1830808800000, "value": 113 }, { "date": 1830895200000, "value": 110 }, { "date": 1830981600000, "value": 111 }, { "date": 1831068000000, "value": 112 }, { "date": 1831154400000, "value": 115 }, { "date": 1831240800000, "value": 119 }, { "date": 1831327200000, "value": 117 }, { "date": 1831413600000, "value": 119 }, { "date": 1831500000000, "value": 118 }, { "date": 1831586400000, "value": 122 }, { "date": 1831672800000, "value": 118 }, { "date": 1831759200000, "value": 114 }, { "date": 1831845600000, "value": 118 }, { "date": 1831932000000, "value": 121 }, { "date": 1832018400000, "value": 126 }, { "date": 1832104800000, "value": 124 }, { "date": 1832191200000, "value": 124 }, { "date": 1832277600000, "value": 128 }, { "date": 1832364000000, "value": 131 }, { "date": 1832450400000, "value": 128 }, { "date": 1832536800000, "value": 127 }, { "date": 1832623200000, "value": 125 }, { "date": 1832709600000, "value": 129 }, { "date": 1832796000000, "value": 130 }, { "date": 1832882400000, "value": 130 }, { "date": 1832968800000, "value": 126 }, { "date": 1833055200000, "value": 123 }, { "date": 1833141600000, "value": 119 }, { "date": 1833228000000, "value": 118 }, { "date": 1833314400000, "value": 118 }, { "date": 1833400800000, "value": 120 }, { "date": 1833487200000, "value": 117 }, { "date": 1833573600000, "value": 112 }, { "date": 1833660000000, "value": 115 }, { "date": 1833746400000, "value": 110 }, { "date": 1833832800000, "value": 113 }, { "date": 1833919200000, "value": 118 }, { "date": 1834005600000, "value": 116 }, { "date": 1834092000000, "value": 112 }, { "date": 1834178400000, "value": 115 }, { "date": 1834264800000, "value": 119 }, { "date": 1834351200000, "value": 123 }, { "date": 1834437600000, "value": 122 }, { "date": 1834524000000, "value": 117 }, { "date": 1834610400000, "value": 121 }, { "date": 1834696800000, "value": 124 }, { "date": 1834783200000, "value": 121 }, { "date": 1834869600000, "value": 119 }, { "date": 1834956000000, "value": 116 }, { "date": 1835042400000, "value": 113 }, { "date": 1835128800000, "value": 113 }, { "date": 1835215200000, "value": 110 }, { "date": 1835301600000, "value": 112 }, { "date": 1835388000000, "value": 115 }, { "date": 1835474400000, "value": 117 }, { "date": 1835560800000, "value": 115 }, { "date": 1835647200000, "value": 115 }, { "date": 1835733600000, "value": 119 }, { "date": 1835820000000, "value": 121 }, { "date": 1835906400000, "value": 125 }, { "date": 1835992800000, "value": 126 }, { "date": 1836079200000, "value": 126 }, { "date": 1836165600000, "value": 126 }, { "date": 1836252000000, "value": 121 }, { "date": 1836338400000, "value": 124 }, { "date": 1836424800000, "value": 122 }, { "date": 1836511200000, "value": 121 }, { "date": 1836597600000, "value": 123 }, { "date": 1836684000000, "value": 128 }, { "date": 1836770400000, "value": 131 }, { "date": 1836856800000, "value": 135 }, { "date": 1836943200000, "value": 139 }, { "date": 1837029600000, "value": 140 }, { "date": 1837116000000, "value": 135 }, { "date": 1837202400000, "value": 136 }, { "date": 1837288800000, "value": 140 }, { "date": 1837375200000, "value": 141 }, { "date": 1837461600000, "value": 143 }, { "date": 1837548000000, "value": 146 }, { "date": 1837634400000, "value": 150 }, { "date": 1837717200000, "value": 150 }, { "date": 1837803600000, "value": 154 }, { "date": 1837890000000, "value": 155 }, { "date": 1837976400000, "value": 152 }, { "date": 1838062800000, "value": 151 }, { "date": 1838149200000, "value": 156 }, { "date": 1838235600000, "value": 154 }, { "date": 1838322000000, "value": 152 }, { "date": 1838408400000, "value": 147 }, { "date": 1838494800000, "value": 142 }, { "date": 1838581200000, "value": 140 }, { "date": 1838667600000, "value": 144 }, { "date": 1838754000000, "value": 147 }, { "date": 1838840400000, "value": 147 }, { "date": 1838926800000, "value": 142 }, { "date": 1839013200000, "value": 139 }, { "date": 1839099600000, "value": 141 }, { "date": 1839186000000, "value": 139 }, { "date": 1839272400000, "value": 143 }, { "date": 1839358800000, "value": 146 }, { "date": 1839445200000, "value": 146 }, { "date": 1839531600000, "value": 147 }, { "date": 1839618000000, "value": 150 }, { "date": 1839704400000, "value": 154 }, { "date": 1839790800000, "value": 157 }, { "date": 1839877200000, "value": 153 }, { "date": 1839963600000, "value": 152 }, { "date": 1840050000000, "value": 150 }, { "date": 1840136400000, "value": 149 }, { "date": 1840222800000, "value": 146 }, { "date": 1840309200000, "value": 149 }, { "date": 1840395600000, "value": 145 }, { "date": 1840482000000, "value": 148 }, { "date": 1840568400000, "value": 152 }, { "date": 1840654800000, "value": 150 }, { "date": 1840741200000, "value": 148 }, { "date": 1840827600000, "value": 146 }, { "date": 1840914000000, "value": 142 }, { "date": 1841000400000, "value": 141 }, { "date": 1841086800000, "value": 138 }, { "date": 1841173200000, "value": 134 }, { "date": 1841259600000, "value": 133 }, { "date": 1841346000000, "value": 133 }, { "date": 1841432400000, "value": 136 }, { "date": 1841518800000, "value": 139 }, { "date": 1841605200000, "value": 142 }, { "date": 1841691600000, "value": 145 }, { "date": 1841778000000, "value": 146 }, { "date": 1841864400000, "value": 144 }, { "date": 1841950800000, "value": 145 }, { "date": 1842037200000, "value": 147 }, { "date": 1842123600000, "value": 151 }, { "date": 1842210000000, "value": 154 }, { "date": 1842296400000, "value": 153 }, { "date": 1842382800000, "value": 149 }, { "date": 1842469200000, "value": 150 }, { "date": 1842555600000, "value": 150 }, { "date": 1842642000000, "value": 148 }, { "date": 1842728400000, "value": 149 }, { "date": 1842814800000, "value": 153 }, { "date": 1842901200000, "value": 152 }, { "date": 1842987600000, "value": 152 }, { "date": 1843074000000, "value": 157 }, { "date": 1843160400000, "value": 152 }, { "date": 1843246800000, "value": 150 }, { "date": 1843333200000, "value": 150 }, { "date": 1843419600000, "value": 153 }, { "date": 1843506000000, "value": 153 }, { "date": 1843592400000, "value": 156 }, { "date": 1843678800000, "value": 155 }, { "date": 1843765200000, "value": 159 }, { "date": 1843851600000, "value": 155 }, { "date": 1843938000000, "value": 159 }, { "date": 1844024400000, "value": 155 }, { "date": 1844110800000, "value": 157 }, { "date": 1844197200000, "value": 160 }, { "date": 1844283600000, "value": 156 }, { "date": 1844370000000, "value": 156 }, { "date": 1844456400000, "value": 153 }, { "date": 1844542800000, "value": 152 }, { "date": 1844629200000, "value": 152 }, { "date": 1844715600000, "value": 151 }, { "date": 1844802000000, "value": 153 }, { "date": 1844888400000, "value": 154 }, { "date": 1844974800000, "value": 157 }, { "date": 1845061200000, "value": 161 }, { "date": 1845147600000, "value": 158 }, { "date": 1845234000000, "value": 155 }, { "date": 1845320400000, "value": 154 }, { "date": 1845406800000, "value": 149 }, { "date": 1845493200000, "value": 152 }, { "date": 1845579600000, "value": 153 }, { "date": 1845666000000, "value": 149 }, { "date": 1845752400000, "value": 149 }, { "date": 1845838800000, "value": 147 }, { "date": 1845925200000, "value": 145 }, { "date": 1846011600000, "value": 148 }, { "date": 1846098000000, "value": 149 }, { "date": 1846184400000, "value": 153 }, { "date": 1846270800000, "value": 155 }, { "date": 1846357200000, "value": 157 }, { "date": 1846443600000, "value": 153 }, { "date": 1846530000000, "value": 157 }, { "date": 1846616400000, "value": 158 }, { "date": 1846702800000, "value": 159 }, { "date": 1846789200000, "value": 162 }, { "date": 1846875600000, "value": 162 }, { "date": 1846962000000, "value": 166 }, { "date": 1847048400000, "value": 161 }, { "date": 1847134800000, "value": 163 }, { "date": 1847221200000, "value": 162 }, { "date": 1847307600000, "value": 161 }, { "date": 1847394000000, "value": 163 }, { "date": 1847480400000, "value": 165 }, { "date": 1847566800000, "value": 166 }, { "date": 1847653200000, "value": 170 }, { "date": 1847739600000, "value": 172 }, { "date": 1847826000000, "value": 173 }, { "date": 1847912400000, "value": 174 }, { "date": 1847998800000, "value": 179 }, { "date": 1848085200000, "value": 184 }, { "date": 1848171600000, "value": 186 }, { "date": 1848258000000, "value": 183 }, { "date": 1848344400000, "value": 180 }, { "date": 1848430800000, "value": 179 }, { "date": 1848517200000, "value": 183 }, { "date": 1848603600000, "value": 178 }, { "date": 1848690000000, "value": 181 }, { "date": 1848776400000, "value": 177 }, { "date": 1848862800000, "value": 173 }, { "date": 1848949200000, "value": 174 }, { "date": 1849035600000, "value": 171 }, { "date": 1849122000000, "value": 171 }, { "date": 1849208400000, "value": 169 }, { "date": 1849294800000, "value": 168 }, { "date": 1849381200000, "value": 167 }, { "date": 1849467600000, "value": 172 }, { "date": 1849554000000, "value": 176 }, { "date": 1849640400000, "value": 178 }, { "date": 1849726800000, "value": 176 }, { "date": 1849813200000, "value": 177 }, { "date": 1849899600000, "value": 174 }, { "date": 1849986000000, "value": 178 }, { "date": 1850072400000, "value": 177 }, { "date": 1850158800000, "value": 174 }, { "date": 1850245200000, "value": 174 }, { "date": 1850331600000, "value": 174 }, { "date": 1850418000000, "value": 170 }, { "date": 1850504400000, "value": 169 }, { "date": 1850590800000, "value": 169 }, { "date": 1850677200000, "value": 170 }, { "date": 1850763600000, "value": 172 }, { "date": 1850850000000, "value": 172 }, { "date": 1850936400000, "value": 171 }, { "date": 1851022800000, "value": 170 }, { "date": 1851109200000, "value": 167 }, { "date": 1851195600000, "value": 165 }, { "date": 1851282000000, "value": 163 }, { "date": 1851368400000, "value": 159 }, { "date": 1851454800000, "value": 157 }, { "date": 1851541200000, "value": 160 }, { "date": 1851627600000, "value": 159 }, { "date": 1851714000000, "value": 163 }, { "date": 1851800400000, "value": 158 }, { "date": 1851886800000, "value": 157 }, { "date": 1851973200000, "value": 155 }, { "date": 1852059600000, "value": 155 }, { "date": 1852146000000, "value": 155 }, { "date": 1852232400000, "value": 155 }, { "date": 1852318800000, "value": 157 }, { "date": 1852405200000, "value": 154 }, { "date": 1852491600000, "value": 157 }, { "date": 1852578000000, "value": 160 }, { "date": 1852664400000, "value": 165 }, { "date": 1852750800000, "value": 162 }, { "date": 1852837200000, "value": 163 }, { "date": 1852923600000, "value": 163 }, { "date": 1853010000000, "value": 166 }, { "date": 1853096400000, "value": 164 }, { "date": 1853182800000, "value": 161 }, { "date": 1853269200000, "value": 165 }, { "date": 1853355600000, "value": 162 }, { "date": 1853442000000, "value": 161 }, { "date": 1853528400000, "value": 157 }, { "date": 1853614800000, "value": 160 }, { "date": 1853701200000, "value": 163 }, { "date": 1853787600000, "value": 162 }, { "date": 1853874000000, "value": 165 }, { "date": 1853960400000, "value": 168 }, { "date": 1854046800000, "value": 164 }, { "date": 1854133200000, "value": 164 }, { "date": 1854219600000, "value": 168 }, { "date": 1854306000000, "value": 169 }, { "date": 1854392400000, "value": 172 }, { "date": 1854478800000, "value": 167 }, { "date": 1854565200000, "value": 166 }, { "date": 1854651600000, "value": 167 }, { "date": 1854738000000, "value": 170 }, { "date": 1854824400000, "value": 175 }, { "date": 1854910800000, "value": 172 }, { "date": 1854997200000, "value": 168 }, { "date": 1855083600000, "value": 166 }, { "date": 1855170000000, "value": 163 }, { "date": 1855256400000, "value": 160 }, { "date": 1855342800000, "value": 164 }, { "date": 1855429200000, "value": 162 }, { "date": 1855515600000, "value": 162 }, { "date": 1855602000000, "value": 161 }, { "date": 1855688400000, "value": 160 }, { "date": 1855774800000, "value": 164 }, { "date": 1855861200000, "value": 164 }, { "date": 1855947600000, "value": 160 }, { "date": 1856034000000, "value": 159 }, { "date": 1856120400000, "value": 161 }, { "date": 1856206800000, "value": 160 }, { "date": 1856293200000, "value": 157 }, { "date": 1856379600000, "value": 160 }, { "date": 1856469600000, "value": 164 }, { "date": 1856556000000, "value": 165 }, { "date": 1856642400000, "value": 165 }, { "date": 1856728800000, "value": 165 }, { "date": 1856815200000, "value": 160 }, { "date": 1856901600000, "value": 161 }, { "date": 1856988000000, "value": 157 }, { "date": 1857074400000, "value": 157 }, { "date": 1857160800000, "value": 157 }, { "date": 1857247200000, "value": 157 }, { "date": 1857333600000, "value": 156 }, { "date": 1857420000000, "value": 158 }, { "date": 1857506400000, "value": 160 }, { "date": 1857592800000, "value": 164 }, { "date": 1857679200000, "value": 160 }, { "date": 1857765600000, "value": 160 }, { "date": 1857852000000, "value": 156 }, { "date": 1857938400000, "value": 161 }, { "date": 1858024800000, "value": 161 }, { "date": 1858111200000, "value": 158 }, { "date": 1858197600000, "value": 154 }, { "date": 1858284000000, "value": 155 }, { "date": 1858370400000, "value": 157 }, { "date": 1858456800000, "value": 152 }, { "date": 1858543200000, "value": 151 }, { "date": 1858629600000, "value": 147 }, { "date": 1858716000000, "value": 142 }, { "date": 1858802400000, "value": 143 }, { "date": 1858888800000, "value": 142 }, { "date": 1858975200000, "value": 139 }, { "date": 1859061600000, "value": 139 }, { "date": 1859148000000, "value": 142 }, { "date": 1859234400000, "value": 140 }, { "date": 1859320800000, "value": 138 }, { "date": 1859407200000, "value": 134 }, { "date": 1859493600000, "value": 135 }, { "date": 1859580000000, "value": 135 }, { "date": 1859666400000, "value": 138 }, { "date": 1859752800000, "value": 134 }, { "date": 1859839200000, "value": 138 }, { "date": 1859925600000, "value": 134 }, { "date": 1860012000000, "value": 138 }, { "date": 1860098400000, "value": 136 }, { "date": 1860184800000, "value": 140 }, { "date": 1860271200000, "value": 141 }, { "date": 1860357600000, "value": 143 }, { "date": 1860444000000, "value": 144 }, { "date": 1860530400000, "value": 141 }, { "date": 1860616800000, "value": 145 }, { "date": 1860703200000, "value": 141 }, { "date": 1860789600000, "value": 140 }, { "date": 1860876000000, "value": 135 }, { "date": 1860962400000, "value": 140 }, { "date": 1861048800000, "value": 145 }, { "date": 1861135200000, "value": 147 }, { "date": 1861221600000, "value": 151 }, { "date": 1861308000000, "value": 150 }, { "date": 1861394400000, "value": 146 }, { "date": 1861480800000, "value": 142 }, { "date": 1861567200000, "value": 137 }, { "date": 1861653600000, "value": 135 }, { "date": 1861740000000, "value": 135 }, { "date": 1861826400000, "value": 132 }, { "date": 1861912800000, "value": 130 }, { "date": 1861999200000, "value": 126 }, { "date": 1862085600000, "value": 130 }, { "date": 1862172000000, "value": 134 }, { "date": 1862258400000, "value": 134 }, { "date": 1862344800000, "value": 132 }, { "date": 1862431200000, "value": 137 }, { "date": 1862517600000, "value": 137 }, { "date": 1862604000000, "value": 137 }, { "date": 1862690400000, "value": 139 }, { "date": 1862776800000, "value": 135 }, { "date": 1862863200000, "value": 131 }, { "date": 1862949600000, "value": 132 }, { "date": 1863036000000, "value": 134 }, { "date": 1863122400000, "value": 135 }, { "date": 1863208800000, "value": 140 }, { "date": 1863295200000, "value": 140 }, { "date": 1863381600000, "value": 145 }, { "date": 1863468000000, "value": 145 }, { "date": 1863554400000, "value": 149 }, { "date": 1863640800000, "value": 149 }, { "date": 1863727200000, "value": 146 }, { "date": 1863813600000, "value": 144 }, { "date": 1863900000000, "value": 146 }, { "date": 1863986400000, "value": 142 }, { "date": 1864072800000, "value": 146 }, { "date": 1864159200000, "value": 147 }, { "date": 1864245600000, "value": 143 }, { "date": 1864332000000, "value": 144 }, { "date": 1864418400000, "value": 145 }, { "date": 1864504800000, "value": 142 }, { "date": 1864591200000, "value": 145 }, { "date": 1864677600000, "value": 149 }, { "date": 1864764000000, "value": 148 }, { "date": 1864850400000, "value": 151 }, { "date": 1864936800000, "value": 148 }, { "date": 1865023200000, "value": 147 }, { "date": 1865109600000, "value": 150 }, { "date": 1865196000000, "value": 153 }, { "date": 1865282400000, "value": 154 }, { "date": 1865368800000, "value": 154 }, { "date": 1865455200000, "value": 158 }, { "date": 1865541600000, "value": 154 }, { "date": 1865628000000, "value": 153 }, { "date": 1865714400000, "value": 151 }, { "date": 1865800800000, "value": 148 }, { "date": 1865887200000, "value": 146 }, { "date": 1865973600000, "value": 142 }, { "date": 1866060000000, "value": 143 }, { "date": 1866146400000, "value": 145 }, { "date": 1866232800000, "value": 142 }, { "date": 1866319200000, "value": 141 }, { "date": 1866405600000, "value": 142 }, { "date": 1866492000000, "value": 141 }, { "date": 1866578400000, "value": 140 }, { "date": 1866664800000, "value": 145 }, { "date": 1866751200000, "value": 144 }, { "date": 1866837600000, "value": 143 }, { "date": 1866924000000, "value": 138 }, { "date": 1867010400000, "value": 134 }, { "date": 1867096800000, "value": 130 }, { "date": 1867183200000, "value": 127 }, { "date": 1867269600000, "value": 123 }, { "date": 1867356000000, "value": 118 }, { "date": 1867442400000, "value": 116 }, { "date": 1867528800000, "value": 116 }, { "date": 1867615200000, "value": 118 }, { "date": 1867701600000, "value": 113 }, { "date": 1867788000000, "value": 114 }, { "date": 1867874400000, "value": 113 }, { "date": 1867960800000, "value": 116 }, { "date": 1868047200000, "value": 116 }, { "date": 1868133600000, "value": 119 }, { "date": 1868220000000, "value": 116 }, { "date": 1868306400000, "value": 120 }, { "date": 1868392800000, "value": 116 }, { "date": 1868479200000, "value": 111 }, { "date": 1868565600000, "value": 114 }, { "date": 1868652000000, "value": 113 }, { "date": 1868738400000, "value": 109 }, { "date": 1868824800000, "value": 105 }, { "date": 1868911200000, "value": 109 }, { "date": 1868997600000, "value": 113 }, { "date": 1869084000000, "value": 117 }, { "date": 1869166800000, "value": 117 }, { "date": 1869253200000, "value": 120 }, { "date": 1869339600000, "value": 117 }, { "date": 1869426000000, "value": 120 }, { "date": 1869512400000, "value": 115 }, { "date": 1869598800000, "value": 118 }, { "date": 1869685200000, "value": 121 }, { "date": 1869771600000, "value": 121 }, { "date": 1869858000000, "value": 122 }, { "date": 1869944400000, "value": 118 }, { "date": 1870030800000, "value": 113 }, { "date": 1870117200000, "value": 118 }, { "date": 1870203600000, "value": 119 }, { "date": 1870290000000, "value": 114 }, { "date": 1870376400000, "value": 113 }, { "date": 1870462800000, "value": 109 }, { "date": 1870549200000, "value": 108 } ] }, { "axis-0": { "type": "DateAxis", "settings": { "maxDeviation": 0, "groupData": true, "baseInterval": { "timeUnit": "day", "count": 1 }, "renderer": { "type": "AxisRendererX", "settings": { "minGridDistance": 30 }, "properties": { "labels": { "properties": { "template": { "settings": { "multiLocation": 0.5 } } } } } }, "tooltip": { "type": "Tooltip" } } } }, { "axis-1": { "type": "ValueAxis", "settings": { "renderer": { "type": "AxisRendererY" } } } }, { "series-0": { "type": "LineSeries", "settings": { "name": "Series", "xAxis": "#axis-0", "yAxis": "#axis-1", "valueYField": "value", "valueXField": "date", "tooltip": { "type": "Tooltip", "settings": { "labelText": "{valueY}" } } }, "properties": { "data": "#data-0" } } }, { "axisRange-0": { "axis": "#axis-0", "settings": { "value": 1767218400000, "endValue": 1798668000000, "label": { "type": "AxisLabel", "settings": { "location": 0.5, "fill": { "type": "Color", "value": "#000000" }, "text": "2026", "dy": 30, "fontWeight": "bold" } }, "grid": { "type": "Grid", "settings": { "location": 1, "strokeOpacity": 1 } }, "tick": { "type": "AxisTick", "settings": { "location": 1, "visible": true, "length": 60 } } }, "__parseLogic": "axisRange" } }, { "axisRange-1": { "axis": "#axis-0", "settings": { "value": 1798754400000, "endValue": 1830204000000, "label": { "type": "AxisLabel", "settings": { "location": 0.5, "fill": { "type": "Color", "value": "#000000" }, "text": "2027", "dy": 30, "fontWeight": "bold" } }, "grid": { "type": "Grid", "settings": { "location": 1, "strokeOpacity": 1 } }, "tick": { "type": "AxisTick", "settings": { "location": 1, "visible": true, "length": 60 } } }, "__parseLogic": "axisRange" } }, { "axisRange-2": { "axis": "#axis-0", "settings": { "value": 1830290400000, "endValue": 1861826400000, "label": { "type": "AxisLabel", "settings": { "location": 0.5, "fill": { "type": "Color", "value": "#000000" }, "text": "2028", "dy": 30, "fontWeight": "bold" } }, "grid": { "type": "Grid", "settings": { "location": 1, "strokeOpacity": 1 } }, "tick": { "type": "AxisTick", "settings": { "location": 1, "visible": true, "length": 60 } } }, "__parseLogic": "axisRange" } } ]}automatically-grouping-date-axis-months-into-years-using-axi