const fullData = [ { x: new Date('2025-07-15'), y: 1671.67 }, { x: new Date('2025-07-16'), y: 1673.89 }, { x: new Date('2025-07-17'), y: 1673.78 }, { x: new Date('2025-07-18'), y: 1685.18 }, { x: new Date('2025-07-21'), y: 1702.4 }, { x: new Date('2025-07-22'), y: 1714.47 }, { x: new Date('2025-07-23'), y: 1714.35 }, { x: new Date('2025-07-24'), y: 1706.49 }, { x: new Date('2025-07-25'), y: 1712.34 }, { x: new Date('2025-07-28'), y: 1699.72 }, { x: new Date('2025-07-29'), y: 1698.54 }, { x: new Date('2025-07-30'), y: 1672.46 }, { x: new Date('2025-07-31'), y: 1680.38 }, { x: new Date('2025-08-01'), y: 1709.18 }, { x: new Date('2025-08-04'), y: 1696.63 }, { x: new Date('2025-08-05'), y: 1693.61 }, { x: new Date('2025-08-06'), y: 1703.04 }, { x: new Date('2025-08-07'), y: 1703.13 }, { x: new Date('2025-08-08'), y: 1700.71 }, { x: new Date('2025-08-11'), y: 1687.95 }, { x: new Date('2025-08-12'), y: 1705.14 }, { x: new Date('2025-08-13'), y: 1696.38 }, { x: new Date('2025-08-14'), y: 1680.48 }, { x: new Date('2025-08-15'), y: 1690.59 }, { x: new Date('2025-08-18'), y: 1689.53 }, { x: new Date('2025-08-19'), y: 1692.68 }, { x: new Date('2025-08-20'), y: 1695.75 }, { x: new Date('2025-08-21'), y: 1691.29 }, { x: new Date('2025-08-22'), y: 1720.35 }, { x: new Date('2025-08-25'), y: 1694.62 }, { x: new Date('2025-08-26'), y: 1704.79 }, { x: new Date('2025-08-27'), y: 1716 }, { x: new Date('2025-08-28'), y: 1723.88 }, { x: new Date('2025-08-29'), y: 1742.9 }, { x: new Date('2025-09-01'), y: 1748.1 }, { x: new Date('2025-09-02'), y: 1732.99 }, { x: new Date('2025-09-03'), y: 1741.89 }, { x: new Date('2025-09-04'), y: 1735.31 }, { x: new Date('2025-09-05'), y: 1748.68 }, { x: new Date('2025-09-08'), y: 1742.92 }, { x: new Date('2025-09-09'), y: 1756.01 }, { x: new Date('2025-09-10'), y: 1760 }, { x: new Date('2025-09-11'), y: 1768.42 }, { x: new Date('2025-09-12'), y: 1757.87 }, { x: new Date('2025-09-15'), y: 1769.55 }, { x: new Date('2025-09-16'), y: 1781.3 }, { x: new Date('2025-09-17'), y: 1766.76 }, { x: new Date('2025-09-18'), y: 1764.78 }, { x: new Date('2025-09-19'), y: 1762.87 }, { x: new Date('2025-09-22'), y: 1775.4 }, { x: new Date('2025-09-23'), y: 1786.64 }, { x: new Date('2025-09-24'), y: 1773.59 }, { x: new Date('2025-09-25'), y: 1769.25 }, { x: new Date('2025-09-26'), y: 1778 }, { x: new Date('2025-09-29'), y: 1769.32 }, { x: new Date('2025-09-30'), y: 1769.62 }, { x: new Date('2025-10-01'), y: 1769.61 }, { x: new Date('2025-10-02'), y: 1763.54 }, { x: new Date('2025-10-03'), y: 1763.42 }, { x: new Date('2025-10-06'), y: 1764.41 }, { x: new Date('2025-10-07'), y: 1759.35 }, { x: new Date('2025-10-08'), y: 1754.55 }, { x: new Date('2025-10-09'), y: 1735.02 }, { x: new Date('2025-10-10'), y: 1740.26 }, { x: new Date('2025-10-13'), y: 1741.92 }, { x: new Date('2025-10-14'), y: 1739.34 }, { x: new Date('2025-10-15'), y: 1748.43 }, { x: new Date('2025-10-16'), y: 1757.7 }, { x: new Date('2025-10-17'), y: 1754.59 }, { x: new Date('2025-10-20'), y: 1757.35 }, { x: new Date('2025-10-21'), y: 1760.33 }, { x: new Date('2025-10-22'), y: 1762.01 }, { x: new Date('2025-10-23'), y: 1770.75 }, { x: new Date('2025-10-24'), y: 1765.2 }, { x: new Date('2025-10-27'), y: 1771.02 }, { x: new Date('2025-10-28'), y: 1771.77 }, { x: new Date('2025-10-29'), y: 1764.78 }, { x: new Date('2025-10-30'), y: 1761.08 }, { x: new Date('2025-10-31'), y: 1751.82 }, { x: new Date('2025-11-03'), y: 1756.15 }, { x: new Date('2025-11-04'), y: 1742.13 }, { x: new Date('2025-11-05'), y: 1746.81 }, { x: new Date('2025-11-06'), y: 1745.15 }, { x: new Date('2025-11-07'), y: 1750.64 }, { x: new Date('2025-11-10'), y: 1750.09 }, { x: new Date('2025-11-11'), y: 1763.07 }, { x: new Date('2025-11-12'), y: 1767.89 }, { x: new Date('2025-11-13'), y: 1777.26 }, { x: new Date('2025-11-14'), y: 1766.72 }, { x: new Date('2025-11-17'), y: 1765.62 }, { x: new Date('2025-11-18'), y: 1767.52 }, { x: new Date('2025-11-19'), y: 1748.83 }, { x: new Date('2025-11-20'), y: 1751.03 }, { x: new Date('2025-11-21'), y: 1747.6 }, { x: new Date('2025-11-24'), y: 1747.1 }, { x: new Date('2025-11-25'), y: 1747.66 }, { x: new Date('2025-11-26'), y: 1754.28 }, { x: new Date('2025-11-27'), y: 1755.21 }, { x: new Date('2025-11-28'), y: 1762.26 }, { x: new Date('2025-12-01'), y: 1762.18 }, { x: new Date('2025-12-02'), y: 1761.11 }, { x: new Date('2025-12-03'), y: 1773.44 }, { x: new Date('2025-12-04'), y: 1766.46 }, { x: new Date('2025-12-05'), y: 1770.09 }, { x: new Date('2025-12-08'), y: 1774.92 }, { x: new Date('2025-12-09'), y: 1779.43 }, { x: new Date('2025-12-10'), y: 1800.03 }, { x: new Date('2025-12-11'), y: 1801.7 }, { x: new Date('2025-12-12'), y: 1795.07 }, { x: new Date('2025-12-15'), y: 1794.92 }, { x: new Date('2025-12-16'), y: 1793.72 }, { x: new Date('2025-12-17'), y: 1793.47 }, { x: new Date('2025-12-18'), y: 1800.41 }, { x: new Date('2025-12-19'), y: 1806.03 }, { x: new Date('2025-12-22'), y: 1815.67 }, { x: new Date('2025-12-23'), y: 1828.93 }, { x: new Date('2025-12-24'), y: 1826.54 }, { x: new Date('2025-12-25'), y: 1826.22 }, { x: new Date('2025-12-26'), y: 1829.42 }, { x: new Date('2025-12-29'), y: 1827.98 }, { x: new Date('2025-12-30'), y: 1822.2 }, { x: new Date('2025-12-31'), y: 1810.53 }, { x: new Date('2026-01-01'), y: 1809.87 }, { x: new Date('2026-01-02'), y: 1813.25 }, { x: new Date('2026-01-05'), y: 1824.41 }, { x: new Date('2026-01-06'), y: 1819.93 }, { x: new Date('2026-01-07'), y: 1825.26 }, { x: new Date('2026-01-08'), y: 1820.39 }, { x: new Date('2026-01-09'), y: 1824.77 }, { x: new Date('2026-01-12'), y: 1835.49 }, { x: new Date('2026-01-13'), y: 1828.25 }, { x: new Date('2026-01-14'), y: 1832.84 }, { x: new Date('2026-01-15'), y: 1830.8 }, { x: new Date('2026-01-16'), y: 1830.97 }, { x: new Date('2026-01-19'), y: 1839.94 }, { x: new Date('2026-01-20'), y: 1857.41 }, { x: new Date('2026-01-21'), y: 1859.09 }, { x: new Date('2026-01-22'), y: 1874.89 }, { x: new Date('2026-01-23'), y: 1877.87 }, { x: new Date('2026-01-26'), y: 1877.62 }, { x: new Date('2026-01-27'), y: 1913.39 }, { x: new Date('2026-01-28'), y: 1891 }, { x: new Date('2026-01-29'), y: 1902.08 }, { x: new Date('2026-01-30'), y: 1880.58 }, { x: new Date('2026-02-02'), y: 1871.89 }, { x: new Date('2026-02-03'), y: 1882.59 }, { x: new Date('2026-02-04'), y: 1865.79 }, { x: new Date('2026-02-05'), y: 1857.64 }, { x: new Date('2026-02-06'), y: 1869.08 }, { x: new Date('2026-02-09'), y: 1883.23 }, { x: new Date('2026-02-10'), y: 1889.76 }, { x: new Date('2026-02-11'), y: 1885.39 }, { x: new Date('2026-02-12'), y: 1883.41 }, { x: new Date('2026-02-13'), y: 1886.24 }, { x: new Date('2026-02-16'), y: 1881.58 }, { x: new Date('2026-02-17'), y: 1877.2 }, { x: new Date('2026-02-18'), y: 1867.35 }, { x: new Date('2026-02-19'), y: 1861.36 }, { x: new Date('2026-02-20'), y: 1861.64 }, { x: new Date('2026-02-23'), y: 1852.32 }, { x: new Date('2026-02-24'), y: 1857.07 }, { x: new Date('2026-02-25'), y: 1860.84 }, { x: new Date('2026-02-26'), y: 1850.14 }, { x: new Date('2026-02-27'), y: 1856.71 }, { x: new Date('2026-03-02'), y: 1840.77 }, { x: new Date('2026-03-03'), y: 1818.94 }, { x: new Date('2026-03-04'), y: 1840.73 }, { x: new Date('2026-03-05'), y: 1829.67 }, { x: new Date('2026-03-06'), y: 1842.47 }, { x: new Date('2026-03-09'), y: 1854.35 }, { x: new Date('2026-03-10'), y: 1835.51 }, { x: new Date('2026-03-11'), y: 1827.46 }, { x: new Date('2026-03-12'), y: 1804.44 }, { x: new Date('2026-03-13'), y: 1786.73 }, { x: new Date('2026-03-16'), y: 1818.49 }, { x: new Date('2026-03-17'), y: 1829.96 }, { x: new Date('2026-03-18'), y: 1802.16 }, { x: new Date('2026-03-19'), y: 1828.14 }, { x: new Date('2026-03-20'), y: 1817.43 }, { x: new Date('2026-03-23'), y: 1821.4 }, { x: new Date('2026-03-24'), y: 1825.03 }, { x: new Date('2026-03-25'), y: 1807.94 }, { x: new Date('2026-03-26'), y: 1790.84 }, { x: new Date('2026-03-27'), y: 1791.06 }, { x: new Date('2026-03-30'), y: 1778.92 }, { x: new Date('2026-03-31'), y: 1794.68 }, { x: new Date('2026-04-01'), y: 1805.62 }, { x: new Date('2026-04-02'), y: 1801.94 }, { x: new Date('2026-04-03'), y: 1791.48 }, { x: new Date('2026-04-06'), y: 1802.23 }, { x: new Date('2026-04-07'), y: 1804.71 }, { x: new Date('2026-04-08'), y: 1825.59 }, { x: new Date('2026-04-09'), y: 1842.12 }, { x: new Date('2026-04-10'), y: 1844.45 }, { x: new Date('2026-04-13'), y: 1859.9 }, { x: new Date('2026-04-14'), y: 1863.19 }, { x: new Date('2026-04-15'), y: 1869.88 }, { x: new Date('2026-04-16'), y: 1864.37 }, { x: new Date('2026-04-17'), y: 1875.11 }, { x: new Date('2026-04-20'), y: 1881.41 }, { x: new Date('2026-04-21'), y: 1865.52 }, { x: new Date('2026-04-22'), y: 1864.32 }, { x: new Date('2026-04-23'), y: 1866.14 }, { x: new Date('2026-04-24'), y: 1864.77 }, { x: new Date('2026-04-27'), y: 1864.07 }, { x: new Date('2026-04-28'), y: 1856.85 }, { x: new Date('2026-04-29'), y: 1853.61 }, { x: new Date('2026-04-30'), y: 1873.9 }, { x: new Date('2026-05-01'), y: 1878.58 }, { x: new Date('2026-05-04'), y: 1869.58 }, { x: new Date('2026-05-05'), y: 1879.12 }, { x: new Date('2026-05-06'), y: 1882.24 }, { x: new Date('2026-05-07'), y: 1867.75 }, { x: new Date('2026-05-08'), y: 1884.18 }, { x: new Date('2026-05-11'), y: 1888.55 }, { x: new Date('2026-05-12'), y: 1882.57 }, { x: new Date('2026-05-13'), y: 1872.78 }, { x: new Date('2026-05-14'), y: 1865.92 }, { x: new Date('2026-05-15'), y: 1847.89 }, { x: new Date('2026-05-18'), y: 1880.42 }, { x: new Date('2026-05-19'), y: 1881.96 }, { x: new Date('2026-05-20'), y: 1885.55 }, { x: new Date('2026-05-21'), y: 1888.82 }, { x: new Date('2026-05-22'), y: 1889.83 }, { x: new Date('2026-05-25'), y: 1910.18 }, { x: new Date('2026-05-26'), y: 1910.07 }, { x: new Date('2026-05-27'), y: 1913.33 }, { x: new Date('2026-05-28'), y: 1921.61 }, { x: new Date('2026-05-29'), y: 1933.41 }, { x: new Date('2026-06-01'), y: 1920.07 }, { x: new Date('2026-06-02'), y: 1915.08 }, { x: new Date('2026-06-03'), y: 1906.77 }, { x: new Date('2026-06-04'), y: 1920.79 }, { x: new Date('2026-06-05'), y: 1903.5 }, { x: new Date('2026-06-08'), y: 1927.32 }, { x: new Date('2026-06-09'), y: 1906.51 }, { x: new Date('2026-06-10'), y: 1883.32 }, { x: new Date('2026-06-11'), y: 1904.33 }, { x: new Date('2026-06-12'), y: 1891.19 }, { x: new Date('2026-06-15'), y: 1882.7 }, { x: new Date('2026-06-16'), y: 1888.67 }, { x: new Date('2026-06-17'), y: 1864.77 }, { x: new Date('2026-06-18'), y: 1846.96 }, { x: new Date('2026-06-19'), y: 1855.44 }, { x: new Date('2026-06-22'), y: 1854.02 }, { x: new Date('2026-06-23'), y: 1832.15 }, { x: new Date('2026-06-24'), y: 1839.91 }, { x: new Date('2026-06-25'), y: 1841.47 }, { x: new Date('2026-06-26'), y: 1839.83 }, { x: new Date('2026-06-29'), y: 1836.88 }, { x: new Date('2026-06-30'), y: 1842.87 }, { x: new Date('2026-07-01'), y: 1842.98 }, { x: new Date('2026-07-02'), y: 1858.75 }, { x: new Date('2026-07-03'), y: 1858.98 }, { x: new Date('2026-07-06'), y: 1868.2 }, { x: new Date('2026-07-07'), y: 1854.06 }, { x: new Date('2026-07-08'), y: 1855.34 }, { x: new Date('2026-07-09'), y: 1870.02 }, { x: new Date('2026-07-10'), y: 1868.02 }, { x: new Date('2026-07-13'), y: 1862.93 }, { x: new Date('2026-07-14'), y: 1870.93 }, { x: new Date('2026-07-15'), y: 1883.96 }, { x: new Date('2026-07-16'), y: 1864.98 }, { x: new Date('2026-07-17'), y: 1854.28 }, { x: new Date('2026-07-20'), y: 1852.47 }, { x: new Date('2026-07-21'), y: 1842.25 }, { x: new Date('2026-07-22'), y: 1844.09 }, { x: new Date('2026-07-23'), y: 1834.5 }, { x: new Date('2026-07-24'), y: 1845.8 }, { x: new Date('2026-07-27'), y: 1851.39 }, { x: new Date('2026-07-28'), y: 1863.65 }, { x: new Date('2026-07-29'), y: 1870.78 }, { x: new Date('2026-07-30'), y: 1896.82 }, { x: new Date('2026-07-31'), y: 1890.05 }, { x: new Date('2026-08-03'), y: 1881.59 }, { x: new Date('2026-08-04'), y: 1892.78 }, { x: new Date('2026-08-05'), y: 1890.07 }, { x: new Date('2026-08-06'), y: 1883.41 }, { x: new Date('2026-08-07'), y: 1886.22 }, { x: new Date('2026-08-10'), y: 1869.84 }, { x: new Date('2026-08-11'), y: 1873 }, { x: new Date('2026-08-12'), y: 1864.81 }, { x: new Date('2026-08-13'), y: 1867.01 }, { x: new Date('2026-08-14'), y: 1870.88 }, { x: new Date('2026-08-17'), y: 1873.79 }, { x: new Date('2026-08-18'), y: 1872.99 }, { x: new Date('2026-08-19'), y: 1889.18 }, { x: new Date('2026-08-20'), y: 1869.83 }, { x: new Date('2026-08-21'), y: 1867.91 }, { x: new Date('2026-08-24'), y: 1865.2 }, { x: new Date('2026-08-25'), y: 1873.69 }, { x: new Date('2026-08-26'), y: 1856.58 }, { x: new Date('2026-08-27'), y: 1861.77 }, { x: new Date('2026-08-28'), y: 1841.53 }, { x: new Date('2026-08-31'), y: 1849.58 }, { x: new Date('2026-09-01'), y: 1842.36 }, { x: new Date('2026-09-02'), y: 1844.63 }, { x: new Date('2026-09-03'), y: 1850.44 }, { x: new Date('2026-09-04'), y: 1840.91 }, { x: new Date('2026-09-07'), y: 1838.88 }, { x: new Date('2026-09-08'), y: 1838.97 }, { x: new Date('2026-09-09'), y: 1824.59 }, { x: new Date('2026-09-10'), y: 1811.03 }, { x: new Date('2026-09-11'), y: 1815.5 }, { x: new Date('2026-09-14'), y: 1808.11 }, { x: new Date('2026-09-15'), y: 1808.82 }, { x: new Date('2026-09-16'), y: 1792.25 }, { x: new Date('2026-09-17'), y: 1805.75 }, { x: new Date('2026-09-18'), y: 1804.12 }, { x: new Date('2026-09-21'), y: 1812 }, { x: new Date('2026-09-22'), y: 1815.46 }, { x: new Date('2026-09-23'), y: 1795.64 }, { x: new Date('2026-09-24'), y: 1803.63 }, { x: new Date('2026-09-25'), y: 1803.2 }, { x: new Date('2026-09-28'), y: 1803.53 }, { x: new Date('2026-09-29'), y: 1797.94 }, { x: new Date('2026-09-30'), y: 1785.36 }, { x: new Date('2026-10-01'), y: 1786.23 }, { x: new Date('2026-10-02'), y: 1779.49 }, { x: new Date('2026-10-05'), y: 1783.65 }, { x: new Date('2026-10-06'), y: 1791.04 }, { x: new Date('2026-10-07'), y: 1786.25 }, { x: new Date('2026-10-08'), y: 1794.43 }, { x: new Date('2026-10-09'), y: 1788.32 }, { x: new Date('2026-10-12'), y: 1782.76 }, { x: new Date('2026-10-13'), y: 1795.46 }, { x: new Date('2026-10-14'), y: 1785.55 }, { x: new Date('2026-10-15'), y: 1802.13 }, { x: new Date('2026-10-16'), y: 1816.51 }, { x: new Date('2026-10-19'), y: 1818.3 }, { x: new Date('2026-10-20'), y: 1817.07 }, { x: new Date('2026-10-21'), y: 1821.04 }, { x: new Date('2026-10-22'), y: 1825.68 }, { x: new Date('2026-10-23'), y: 1824.737776 }, { x: new Date('2026-10-24'), y: 1821.089404 }, { x: new Date('2026-10-25'), y: 1821.089404 }, { x: new Date('2026-10-26'), y: 1822.026515 }, { x: new Date('2026-10-27'), y: 1825.970099 }, { x: new Date('2026-10-28'), y: 1824.657153 }, { x: new Date('2026-10-29'), y: 1832.521574 }, { x: new Date('2026-10-30'), y: 1838.920793 }, { x: new Date('2026-10-31'), y: 1845.135622 }, { x: new Date('2026-11-01'), y: 1845.096773 }, { x: new Date('2026-11-02'), y: 1846.602032 }, { x: new Date('2026-11-03'), y: 1855.203449 }, { x: new Date('2026-11-04'), y: 1852.670878 }, { x: new Date('2026-11-05'), y: 1862.364875 }, { x: new Date('2026-11-06'), y: 1845.581654 }, { x: new Date('2026-11-07'), y: 1829.935868 }, { x: new Date('2026-11-08'), y: 1830.067427 }]; 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);