const fullData = [ { x: new Date('2025-07-15'), y: 9669.01 }, { x: new Date('2025-07-16'), y: 9675.77 }, { x: new Date('2025-07-17'), y: 9686.14 }, { x: new Date('2025-07-18'), y: 9712.92 }, { x: new Date('2025-07-21'), y: 9734.62 }, { x: new Date('2025-07-22'), y: 9789.26 }, { x: new Date('2025-07-23'), y: 9848.94 }, { x: new Date('2025-07-24'), y: 9816.6 }, { x: new Date('2025-07-25'), y: 9815.92 }, { x: new Date('2025-07-28'), y: 9754.98 }, { x: new Date('2025-07-29'), y: 9763.74 }, { x: new Date('2025-07-30'), y: 9662.72 }, { x: new Date('2025-07-31'), y: 9691.17 }, { x: new Date('2025-08-01'), y: 9756.31 }, { x: new Date('2025-08-04'), y: 9683.22 }, { x: new Date('2025-08-05'), y: 9669.12 }, { x: new Date('2025-08-06'), y: 9702.3 }, { x: new Date('2025-08-07'), y: 9710.47 }, { x: new Date('2025-08-08'), y: 9708.03 }, { x: new Date('2025-08-11'), y: 9661.13 }, { x: new Date('2025-08-12'), y: 9698.53 }, { x: new Date('2025-08-13'), y: 9676.73 }, { x: new Date('2025-08-14'), y: 9532.58 }, { x: new Date('2025-08-15'), y: 9569.95 }, { x: new Date('2025-08-18'), y: 9569.15 }, { x: new Date('2025-08-19'), y: 9570.23 }, { x: new Date('2025-08-20'), y: 9472.56 }, { x: new Date('2025-08-21'), y: 9474.62 }, { x: new Date('2025-08-22'), y: 9587.49 }, { x: new Date('2025-08-25'), y: 9507.26 }, { x: new Date('2025-08-26'), y: 9551.02 }, { x: new Date('2025-08-27'), y: 9584.51 }, { x: new Date('2025-08-28'), y: 9617.4 }, { x: new Date('2025-08-29'), y: 9703.55 }, { x: new Date('2025-09-01'), y: 9689.78 }, { x: new Date('2025-09-02'), y: 9620.24 }, { x: new Date('2025-09-03'), y: 9649.27 }, { x: new Date('2025-09-04'), y: 9599.14 }, { x: new Date('2025-09-05'), y: 9677.13 }, { x: new Date('2025-09-08'), y: 9684.58 }, { x: new Date('2025-09-09'), y: 9765.56 }, { x: new Date('2025-09-10'), y: 9776.42 }, { x: new Date('2025-09-11'), y: 9834.85 }, { x: new Date('2025-09-12'), y: 9753.62 }, { x: new Date('2025-09-15'), y: 9798.42 }, { x: new Date('2025-09-16'), y: 9842.63 }, { x: new Date('2025-09-17'), y: 9798.03 }, { x: new Date('2025-09-18'), y: 9708.24 }, { x: new Date('2025-09-19'), y: 9717.59 }, { x: new Date('2025-09-22'), y: 9742.15 }, { x: new Date('2025-09-23'), y: 9762.36 }, { x: new Date('2025-09-24'), y: 9695.68 }, { x: new Date('2025-09-25'), y: 9654.8 }, { x: new Date('2025-09-26'), y: 9657.4 }, { x: new Date('2025-09-29'), y: 9628.59 }, { x: new Date('2025-09-30'), y: 9656.54 }, { x: new Date('2025-10-01'), y: 9659.13 }, { x: new Date('2025-10-02'), y: 9648.33 }, { x: new Date('2025-10-03'), y: 9642.38 }, { x: new Date('2025-10-06'), y: 9671.82 }, { x: new Date('2025-10-07'), y: 9593.2 }, { x: new Date('2025-10-08'), y: 9584.11 }, { x: new Date('2025-10-09'), y: 9506.76 }, { x: new Date('2025-10-10'), y: 9469.08 }, { x: new Date('2025-10-13'), y: 9481.43 }, { x: new Date('2025-10-14'), y: 9475.1 }, { x: new Date('2025-10-15'), y: 9481.81 }, { x: new Date('2025-10-16'), y: 9484.67 }, { x: new Date('2025-10-17'), y: 9494.54 }, { x: new Date('2025-10-20'), y: 9522.34 }, { x: new Date('2025-10-21'), y: 9525.15 }, { x: new Date('2025-10-22'), y: 9514.06 }, { x: new Date('2025-10-23'), y: 9558.17 }, { x: new Date('2025-10-24'), y: 9539.64 }, { x: new Date('2025-10-27'), y: 9586.03 }, { x: new Date('2025-10-28'), y: 9600.18 }, { x: new Date('2025-10-29'), y: 9576.89 }, { x: new Date('2025-10-30'), y: 9554.69 }, { x: new Date('2025-10-31'), y: 9519.02 }, { x: new Date('2025-11-03'), y: 9505.01 }, { x: new Date('2025-11-04'), y: 9423.79 }, { x: new Date('2025-11-05'), y: 9459.21 }, { x: new Date('2025-11-06'), y: 9404.56 }, { x: new Date('2025-11-07'), y: 9387.54 }, { x: new Date('2025-11-10'), y: 9401.42 }, { x: new Date('2025-11-11'), y: 9434.54 }, { x: new Date('2025-11-12'), y: 9466.37 }, { x: new Date('2025-11-13'), y: 9456.32 }, { x: new Date('2025-11-14'), y: 9484.7 }, { x: new Date('2025-11-17'), y: 9462.17 }, { x: new Date('2025-11-18'), y: 9472.33 }, { x: new Date('2025-11-19'), y: 9353.65 }, { x: new Date('2025-11-20'), y: 9342.04 }, { x: new Date('2025-11-21'), y: 9371.18 }, { x: new Date('2025-11-24'), y: 9366.16 }, { x: new Date('2025-11-25'), y: 9364.58 }, { x: new Date('2025-11-26'), y: 9493.7 }, { x: new Date('2025-11-27'), y: 9533.89 }, { x: new Date('2025-11-28'), y: 9550.81 }, { x: new Date('2025-12-01'), y: 9540.82 }, { x: new Date('2025-12-02'), y: 9534.06 }, { x: new Date('2025-12-03'), y: 9596.39 }, { x: new Date('2025-12-04'), y: 9590.85 }, { x: new Date('2025-12-05'), y: 9610.44 }, { x: new Date('2025-12-08'), y: 9640.15 }, { x: new Date('2025-12-09'), y: 9634.04 }, { x: new Date('2025-12-10'), y: 9704.83 }, { x: new Date('2025-12-11'), y: 9684.44 }, { x: new Date('2025-12-12'), y: 9660.36 }, { x: new Date('2025-12-15'), y: 9634.04 }, { x: new Date('2025-12-16'), y: 9650.16 }, { x: new Date('2025-12-17'), y: 9635.58 }, { x: new Date('2025-12-18'), y: 9653.74 }, { x: new Date('2025-12-19'), y: 9636.39 }, { x: new Date('2025-12-22'), y: 9715.7 }, { x: new Date('2025-12-23'), y: 9796.2 }, { x: new Date('2025-12-24'), y: 9775.71 }, { x: new Date('2025-12-25'), y: 9790.79 }, { x: new Date('2025-12-26'), y: 9769.01 }, { x: new Date('2025-12-29'), y: 9741.18 }, { x: new Date('2025-12-30'), y: 9708.23 }, { x: new Date('2025-12-31'), y: 9602.3 }, { x: new Date('2026-01-01'), y: 9602.3 }, { x: new Date('2026-01-02'), y: 9646.61 }, { x: new Date('2026-01-05'), y: 9689.95 }, { x: new Date('2026-01-06'), y: 9689.04 }, { x: new Date('2026-01-07'), y: 9683.37 }, { x: new Date('2026-01-08'), y: 9659.29 }, { x: new Date('2026-01-09'), y: 9628.92 }, { x: new Date('2026-01-12'), y: 9713.44 }, { x: new Date('2026-01-13'), y: 9677.14 }, { x: new Date('2026-01-14'), y: 9691.97 }, { x: new Date('2026-01-15'), y: 9696.22 }, { x: new Date('2026-01-16'), y: 9711.41 }, { x: new Date('2026-01-19'), y: 9822.66 }, { x: new Date('2026-01-20'), y: 9884.4 }, { x: new Date('2026-01-21'), y: 9895.97 }, { x: new Date('2026-01-22'), y: 10009.43 }, { x: new Date('2026-01-23'), y: 10004.08 }, { x: new Date('2026-01-26'), y: 10021.38 }, { x: new Date('2026-01-27'), y: 10135.28 }, { x: new Date('2026-01-28'), y: 10125.74 }, { x: new Date('2026-01-29'), y: 10179.97 }, { x: new Date('2026-01-30'), y: 10106.25 }, { x: new Date('2026-02-02'), y: 10073.16 }, { x: new Date('2026-02-03'), y: 10133.1 }, { x: new Date('2026-02-04'), y: 10068.71 }, { x: new Date('2026-02-05'), y: 10013.85 }, { x: new Date('2026-02-06'), y: 10146.83 }, { x: new Date('2026-02-09'), y: 10173.24 }, { x: new Date('2026-02-10'), y: 10149.22 }, { x: new Date('2026-02-11'), y: 10148.55 }, { x: new Date('2026-02-12'), y: 10150.38 }, { x: new Date('2026-02-13'), y: 10164.48 }, { x: new Date('2026-02-16'), y: 10152.7 }, { x: new Date('2026-02-17'), y: 10178.79 }, { x: new Date('2026-02-18'), y: 10068.92 }, { x: new Date('2026-02-19'), y: 10080.28 }, { x: new Date('2026-02-20'), y: 10080.21 }, { x: new Date('2026-02-23'), y: 10000.97 }, { x: new Date('2026-02-24'), y: 10033.97 }, { x: new Date('2026-02-25'), y: 10068.49 }, { x: new Date('2026-02-26'), y: 10020.33 }, { x: new Date('2026-02-27'), y: 10053.13 }, { x: new Date('2026-03-02'), y: 10017.37 }, { x: new Date('2026-03-03'), y: 9926.76 }, { x: new Date('2026-03-04'), y: 10030.54 }, { x: new Date('2026-03-05'), y: 9951.61 }, { x: new Date('2026-03-06'), y: 9974.8 }, { x: new Date('2026-03-09'), y: 10051.35 }, { x: new Date('2026-03-10'), y: 9994.81 }, { x: new Date('2026-03-11'), y: 9976.08 }, { x: new Date('2026-03-12'), y: 9889.09 }, { x: new Date('2026-03-13'), y: 9782 }, { x: new Date('2026-03-16'), y: 9956.99 }, { x: new Date('2026-03-17'), y: 9946.89 }, { x: new Date('2026-03-18'), y: 9842.46 }, { x: new Date('2026-03-19'), y: 9974.9 }, { x: new Date('2026-03-20'), y: 9910.38 }, { x: new Date('2026-03-23'), y: 9947.74 }, { x: new Date('2026-03-24'), y: 9911.23 }, { x: new Date('2026-03-25'), y: 9817.95 }, { x: new Date('2026-03-26'), y: 9736.94 }, { x: new Date('2026-03-27'), y: 9747.24 }, { x: new Date('2026-03-30'), y: 9720.83 }, { x: new Date('2026-03-31'), y: 9767.6 }, { x: new Date('2026-04-01'), y: 9767.74 }, { x: new Date('2026-04-02'), y: 9715.76 }, { x: new Date('2026-04-03'), y: 9674.12 }, { x: new Date('2026-04-06'), y: 9729.55 }, { x: new Date('2026-04-07'), y: 9797.72 }, { x: new Date('2026-04-08'), y: 9904.07 }, { x: new Date('2026-04-09'), y: 10011.81 }, { x: new Date('2026-04-10'), y: 9973.73 }, { x: new Date('2026-04-13'), y: 10034.29 }, { x: new Date('2026-04-14'), y: 10100.42 }, { x: new Date('2026-04-15'), y: 10130.22 }, { x: new Date('2026-04-16'), y: 10090.43 }, { x: new Date('2026-04-17'), y: 10108.22 }, { x: new Date('2026-04-20'), y: 10114.85 }, { x: new Date('2026-04-21'), y: 10103.82 }, { x: new Date('2026-04-22'), y: 10140.12 }, { x: new Date('2026-04-23'), y: 10119.51 }, { x: new Date('2026-04-24'), y: 10106.61 }, { x: new Date('2026-04-27'), y: 10154.99 }, { x: new Date('2026-04-28'), y: 10131.89 }, { x: new Date('2026-04-29'), y: 10073.38 }, { x: new Date('2026-04-30'), y: 10227.62 }, { x: new Date('2026-05-01'), y: 10210.31 }, { x: new Date('2026-05-04'), y: 10202.27 }, { x: new Date('2026-05-05'), y: 10251.34 }, { x: new Date('2026-05-06'), y: 10353.64 }, { x: new Date('2026-05-07'), y: 10294.39 }, { x: new Date('2026-05-08'), y: 10360.83 }, { x: new Date('2026-05-11'), y: 10385.94 }, { x: new Date('2026-05-12'), y: 10413.6 }, { x: new Date('2026-05-13'), y: 10367.23 }, { x: new Date('2026-05-14'), y: 10325.31 }, { x: new Date('2026-05-15'), y: 10196.94 }, { x: new Date('2026-05-18'), y: 10366.44 }, { x: new Date('2026-05-19'), y: 10329.72 }, { x: new Date('2026-05-20'), y: 10334.14 }, { x: new Date('2026-05-21'), y: 10366.44 }, { x: new Date('2026-05-22'), y: 10350.69 }, { x: new Date('2026-05-25'), y: 10415.77 }, { x: new Date('2026-05-26'), y: 10377.3 }, { x: new Date('2026-05-27'), y: 10492.87 }, { x: new Date('2026-05-28'), y: 10552.44 }, { x: new Date('2026-05-29'), y: 10701.45 }, { x: new Date('2026-06-01'), y: 10601.38 }, { x: new Date('2026-06-02'), y: 10568.13 }, { x: new Date('2026-06-03'), y: 10518.47 }, { x: new Date('2026-06-04'), y: 10576.17 }, { x: new Date('2026-06-05'), y: 10442.4 }, { x: new Date('2026-06-08'), y: 10559.68 }, { x: new Date('2026-06-09'), y: 10501.69 }, { x: new Date('2026-06-10'), y: 10407.06 }, { x: new Date('2026-06-11'), y: 10494.03 }, { x: new Date('2026-06-12'), y: 10424.47 }, { x: new Date('2026-06-15'), y: 10304.4 }, { x: new Date('2026-06-16'), y: 10318.55 }, { x: new Date('2026-06-17'), y: 10230.44 }, { x: new Date('2026-06-18'), y: 10187.46 }, { x: new Date('2026-06-19'), y: 10206.61 }, { x: new Date('2026-06-22'), y: 10187.17 }, { x: new Date('2026-06-23'), y: 10113.49 }, { x: new Date('2026-06-24'), y: 10130.45 }, { x: new Date('2026-06-25'), y: 10121.22 }, { x: new Date('2026-06-26'), y: 10100.34 }, { x: new Date('2026-06-29'), y: 10080.49 }, { x: new Date('2026-06-30'), y: 10151.37 }, { x: new Date('2026-07-01'), y: 10172.73 }, { x: new Date('2026-07-02'), y: 10250.61 }, { x: new Date('2026-07-03'), y: 10250.35 }, { x: new Date('2026-07-06'), y: 10257 }, { x: new Date('2026-07-07'), y: 10205.31 }, { x: new Date('2026-07-08'), y: 10257.48 }, { x: new Date('2026-07-09'), y: 10402.17 }, { x: new Date('2026-07-10'), y: 10399.51 }, { x: new Date('2026-07-13'), y: 10410.38 }, { x: new Date('2026-07-14'), y: 10511.91 }, { x: new Date('2026-07-15'), y: 10567.12 }, { x: new Date('2026-07-16'), y: 10507.74 }, { x: new Date('2026-07-17'), y: 10453.13 }, { x: new Date('2026-07-20'), y: 10471.35 }, { x: new Date('2026-07-21'), y: 10418.02 }, { x: new Date('2026-07-22'), y: 10403.48 }, { x: new Date('2026-07-23'), y: 10328.99 }, { x: new Date('2026-07-24'), y: 10382.78 }, { x: new Date('2026-07-27'), y: 10396.09 }, { x: new Date('2026-07-28'), y: 10450.42 }, { x: new Date('2026-07-29'), y: 10460.88 }, { x: new Date('2026-07-30'), y: 10629.24 }, { x: new Date('2026-07-31'), y: 10572.38 }, { x: new Date('2026-08-03'), y: 10559 }, { x: new Date('2026-08-04'), y: 10620.99 }, { x: new Date('2026-08-05'), y: 10556.29 }, { x: new Date('2026-08-06'), y: 10517 }, { x: new Date('2026-08-07'), y: 10543.47 }, { x: new Date('2026-08-10'), y: 10443.49 }, { x: new Date('2026-08-11'), y: 10487.88 }, { x: new Date('2026-08-12'), y: 10468.24 }, { x: new Date('2026-08-13'), y: 10453.71 }, { x: new Date('2026-08-14'), y: 10502.5 }, { x: new Date('2026-08-17'), y: 10521.21 }, { x: new Date('2026-08-18'), y: 10492.49 }, { x: new Date('2026-08-19'), y: 10583 }, { x: new Date('2026-08-20'), y: 10545.26 }, { x: new Date('2026-08-21'), y: 10572.43 }, { x: new Date('2026-08-24'), y: 10555.16 }, { x: new Date('2026-08-25'), y: 10583.5 }, { x: new Date('2026-08-26'), y: 10520.88 }, { x: new Date('2026-08-27'), y: 10545.18 }, { x: new Date('2026-08-28'), y: 10460.1 }, { x: new Date('2026-08-31'), y: 10479.31 }, { x: new Date('2026-09-01'), y: 10438.56 }, { x: new Date('2026-09-02'), y: 10388.45 }, { x: new Date('2026-09-03'), y: 10383.79 }, { x: new Date('2026-09-04'), y: 10370.26 }, { x: new Date('2026-09-07'), y: 10366.74 }, { x: new Date('2026-09-08'), y: 10316.2 }, { x: new Date('2026-09-09'), y: 10220.3 }, { x: new Date('2026-09-10'), y: 10165.92 }, { x: new Date('2026-09-11'), y: 10227.71 }, { x: new Date('2026-09-14'), y: 10196.17 }, { x: new Date('2026-09-15'), y: 10183.9 }, { x: new Date('2026-09-16'), y: 10101.47 }, { x: new Date('2026-09-17'), y: 10169.46 }, { x: new Date('2026-09-18'), y: 10148.86 }, { x: new Date('2026-09-21'), y: 10189.84 }, { x: new Date('2026-09-22'), y: 10227.35 }, { x: new Date('2026-09-23'), y: 10098.83 }, { x: new Date('2026-09-24'), y: 10129.32 }, { x: new Date('2026-09-25'), y: 10118.44 }, { x: new Date('2026-09-28'), y: 10183.61 }, { x: new Date('2026-09-29'), y: 10134.06 }, { x: new Date('2026-09-30'), y: 10069.89 }, { x: new Date('2026-10-01'), y: 10059.97 }, { x: new Date('2026-10-02'), y: 10047.31 }, { x: new Date('2026-10-05'), y: 10024 }, { x: new Date('2026-10-06'), y: 10062.36 }, { x: new Date('2026-10-07'), y: 10011.91 }, { x: new Date('2026-10-08'), y: 10029.26 }, { x: new Date('2026-10-09'), y: 10033.37 }, { x: new Date('2026-10-12'), y: 10001.63 }, { x: new Date('2026-10-13'), y: 10039.87 }, { x: new Date('2026-10-14'), y: 10010.58 }, { x: new Date('2026-10-15'), y: 10077.44 }, { x: new Date('2026-10-16'), y: 10178.23 }, { x: new Date('2026-10-19'), y: 10213.23 }, { x: new Date('2026-10-20'), y: 10223.58 }, { x: new Date('2026-10-21'), y: 10268.25 }, { x: new Date('2026-10-22'), y: 10280.24 }, { x: new Date('2026-10-23'), y: 10277.475676 }, { x: new Date('2026-10-24'), y: 10307.090023 }, { x: new Date('2026-10-25'), y: 10307.090023 }, { x: new Date('2026-10-26'), y: 10309.935324 }, { x: new Date('2026-10-27'), y: 10333.701257 }, { x: new Date('2026-10-28'), y: 10322.192052 }, { x: new Date('2026-10-29'), y: 10222.792869 }, { x: new Date('2026-10-30'), y: 10205.710429 }, { x: new Date('2026-10-31'), y: 10212.729541 }, { x: new Date('2026-11-01'), y: 10213.457162 }, { x: new Date('2026-11-02'), y: 10204.255302 }, { x: new Date('2026-11-03'), y: 10200.2819 }, { x: new Date('2026-11-04'), y: 10169.22923 }, { x: new Date('2026-11-05'), y: 10202.197187 }, { x: new Date('2026-11-06'), y: 10137.194842 }, { x: new Date('2026-11-07'), y: 10031.026271 }, { x: new Date('2026-11-08'), y: 10026.538947 }]; const options = { chart: { type: 'area', height: 300, toolbar: { show: false }, zoom: { enabled: false } }, series: [{ name: '', data: fullData }], xaxis: { type: 'datetime' }, yaxis: { tickAmount: 10, labels: { formatter: val => `${val.toLocaleString('id-ID')}`, offsetX: -17 } }, grid: { padding: { left: -10, right: 0 } }, tooltip: { x: { format: 'dd MMM yyyy' }, y: { formatter: val => `Rp ${val.toLocaleString('id-ID')}` } }, stroke: { curve: 'smooth', width: 2 }, fill: { type: 'gradient', gradient: { shadeIntensity: 1, opacityFrom: 0.8, opacityTo: 0, stops: [0, 90, 100] } }, colors: ['#007bff'], legend: { show: false }, dataLabels: { enabled: false } }; const chart = new ApexCharts(document.querySelector("#chart"), options); chart.render(); function updateChart(months) { const sortedData = [...fullData].sort((a, b) => a.x - b.x); const latestDate = sortedData[sortedData.length - 1].x; const start = new Date(latestDate); start.setMonth(start.getMonth() - months); const startTime = start.getTime(); const filtered = fullData.filter(item => item.x >= startTime && item.x <= latestDate ); chart.updateSeries([{ name: '', data: filtered }], true); chart.updateOptions({ xaxis: { type: 'datetime', min: startTime, max: latestDate } }); } document.querySelectorAll('.filter-btn').forEach(btn => { btn.addEventListener('click', () => { document.querySelectorAll('.filter-btn').forEach(b => b.classList.remove('active')); btn.classList.add('active'); const months = parseInt(btn.dataset.months); updateChart(months); }); }); updateChart(1);