const fullData = [ { x: new Date('2025-07-15'), y: 21761.6 }, { x: new Date('2025-07-16'), y: 21838.4 }, { x: new Date('2025-07-17'), y: 21908.3 }, { x: new Date('2025-07-18'), y: 21842.4 }, { x: new Date('2025-07-21'), y: 22005.5 }, { x: new Date('2025-07-22'), y: 22072.3 }, { x: new Date('2025-07-23'), y: 22124.3 }, { x: new Date('2025-07-24'), y: 22001 }, { x: new Date('2025-07-25'), y: 21924.9 }, { x: new Date('2025-07-28'), y: 21825.3 }, { x: new Date('2025-07-29'), y: 21889.1 }, { x: new Date('2025-07-30'), y: 21697.1 }, { x: new Date('2025-07-31'), y: 21732.1 }, { x: new Date('2025-08-01'), y: 21897.9 }, { x: new Date('2025-08-04'), y: 21774.1 }, { x: new Date('2025-08-05'), y: 21786.2 }, { x: new Date('2025-08-06'), y: 21852.1 }, { x: new Date('2025-08-07'), y: 21897.8 }, { x: new Date('2025-08-08'), y: 21910.9 }, { x: new Date('2025-08-11'), y: 21854.7 }, { x: new Date('2025-08-12'), y: 21983.9 }, { x: new Date('2025-08-13'), y: 21984.2 }, { x: new Date('2025-08-14'), y: 21803.1 }, { x: new Date('2025-08-15'), y: 21900.8 }, { x: new Date('2025-08-18'), y: 21822.5 }, { x: new Date('2025-08-19'), y: 21909.4 }, { x: new Date('2025-08-20'), y: 21892 }, { x: new Date('2025-08-21'), y: 21842.3 }, { x: new Date('2025-08-22'), y: 22102.3 }, { x: new Date('2025-08-25'), y: 21870.4 }, { x: new Date('2025-08-26'), y: 21965.8 }, { x: new Date('2025-08-27'), y: 22081.9 }, { x: new Date('2025-08-28'), y: 22087 }, { x: new Date('2025-08-29'), y: 22268.9 }, { x: new Date('2025-09-01'), y: 22234.9 }, { x: new Date('2025-09-02'), y: 21967.8 }, { x: new Date('2025-09-03'), y: 22069.3 }, { x: new Date('2025-09-04'), y: 22057.8 }, { x: new Date('2025-09-05'), y: 22182.6 }, { x: new Date('2025-09-08'), y: 22084.6 }, { x: new Date('2025-09-09'), y: 22287.4 }, { x: new Date('2025-09-10'), y: 22271.2 }, { x: new Date('2025-09-11'), y: 22342.8 }, { x: new Date('2025-09-12'), y: 22204.6 }, { x: new Date('2025-09-15'), y: 22316 }, { x: new Date('2025-09-16'), y: 22435.7 }, { x: new Date('2025-09-17'), y: 22387.5 }, { x: new Date('2025-09-18'), y: 22372.5 }, { x: new Date('2025-09-19'), y: 22346.7 }, { x: new Date('2025-09-22'), y: 22438.3 }, { x: new Date('2025-09-23'), y: 22541.1 }, { x: new Date('2025-09-24'), y: 22422.9 }, { x: new Date('2025-09-25'), y: 22338.7 }, { x: new Date('2025-09-26'), y: 22425.7 }, { x: new Date('2025-09-29'), y: 22382.8 }, { x: new Date('2025-09-30'), y: 22406.9 }, { x: new Date('2025-10-01'), y: 22379.4 }, { x: new Date('2025-10-02'), y: 22289.4 }, { x: new Date('2025-10-03'), y: 22288.4 }, { x: new Date('2025-10-06'), y: 22317.7 }, { x: new Date('2025-10-07'), y: 22205 }, { x: new Date('2025-10-08'), y: 22199.5 }, { x: new Date('2025-10-09'), y: 22013.1 }, { x: new Date('2025-10-10'), y: 22110 }, { x: new Date('2025-10-13'), y: 22078.6 }, { x: new Date('2025-10-14'), y: 22076.2 }, { x: new Date('2025-10-15'), y: 22201.2 }, { x: new Date('2025-10-16'), y: 22259.3 }, { x: new Date('2025-10-17'), y: 22259.5 }, { x: new Date('2025-10-20'), y: 22218.8 }, { x: new Date('2025-10-21'), y: 22182.5 }, { x: new Date('2025-10-22'), y: 22138.4 }, { x: new Date('2025-10-23'), y: 22149.5 }, { x: new Date('2025-10-24'), y: 22092.9 }, { x: new Date('2025-10-27'), y: 22158.6 }, { x: new Date('2025-10-28'), y: 22037.3 }, { x: new Date('2025-10-29'), y: 21921.8 }, { x: new Date('2025-10-30'), y: 21887.4 }, { x: new Date('2025-10-31'), y: 21876.8 }, { x: new Date('2025-11-03'), y: 21883.8 }, { x: new Date('2025-11-04'), y: 21742.8 }, { x: new Date('2025-11-05'), y: 21800 }, { x: new Date('2025-11-06'), y: 21930.9 }, { x: new Date('2025-11-07'), y: 21958.5 }, { x: new Date('2025-11-10'), y: 21934.7 }, { x: new Date('2025-11-11'), y: 21941.6 }, { x: new Date('2025-11-12'), y: 21928.2 }, { x: new Date('2025-11-13'), y: 22062.8 }, { x: new Date('2025-11-14'), y: 21990.2 }, { x: new Date('2025-11-17'), y: 22002.6 }, { x: new Date('2025-11-18'), y: 22006.4 }, { x: new Date('2025-11-19'), y: 21799.6 }, { x: new Date('2025-11-20'), y: 21871.1 }, { x: new Date('2025-11-21'), y: 21865.8 }, { x: new Date('2025-11-24'), y: 21875.5 }, { x: new Date('2025-11-25'), y: 21935.4 }, { x: new Date('2025-11-26'), y: 22061.2 }, { x: new Date('2025-11-27'), y: 22030.5 }, { x: new Date('2025-11-28'), y: 22047.1 }, { x: new Date('2025-12-01'), y: 22006.3 }, { x: new Date('2025-12-02'), y: 21960 }, { x: new Date('2025-12-03'), y: 22191.9 }, { x: new Date('2025-12-04'), y: 22182 }, { x: new Date('2025-12-05'), y: 22182 }, { x: new Date('2025-12-08'), y: 22233.6 }, { x: new Date('2025-12-09'), y: 22160.3 }, { x: new Date('2025-12-10'), y: 22329.5 }, { x: new Date('2025-12-11'), y: 22317.8 }, { x: new Date('2025-12-12'), y: 22251 }, { x: new Date('2025-12-15'), y: 22291.1 }, { x: new Date('2025-12-16'), y: 22403.8 }, { x: new Date('2025-12-17'), y: 22318.7 }, { x: new Date('2025-12-18'), y: 22367.2 }, { x: new Date('2025-12-19'), y: 22396.4 }, { x: new Date('2025-12-22'), y: 22576.6 }, { x: new Date('2025-12-23'), y: 22669.7 }, { x: new Date('2025-12-24'), y: 22628.5 }, { x: new Date('2025-12-25'), y: 22658.6 }, { x: new Date('2025-12-26'), y: 22618.4 }, { x: new Date('2025-12-29'), y: 22675.7 }, { x: new Date('2025-12-30'), y: 22571.5 }, { x: new Date('2025-12-31'), y: 22469.6 }, { x: new Date('2026-01-01'), y: 22467.1 }, { x: new Date('2026-01-02'), y: 22505.1 }, { x: new Date('2026-01-05'), y: 22666.8 }, { x: new Date('2026-01-06'), y: 22614.2 }, { x: new Date('2026-01-07'), y: 22575.8 }, { x: new Date('2026-01-08'), y: 22564.1 }, { x: new Date('2026-01-09'), y: 22517 }, { x: new Date('2026-01-12'), y: 22656.6 }, { x: new Date('2026-01-13'), y: 22635.4 }, { x: new Date('2026-01-14'), y: 22660.7 }, { x: new Date('2026-01-15'), y: 22595.5 }, { x: new Date('2026-01-16'), y: 22596.4 }, { x: new Date('2026-01-19'), y: 22747 }, { x: new Date('2026-01-20'), y: 22774.9 }, { x: new Date('2026-01-21'), y: 22742 }, { x: new Date('2026-01-22'), y: 22794.8 }, { x: new Date('2026-01-23'), y: 22944.1 }, { x: new Date('2026-01-26'), y: 22948.2 }, { x: new Date('2026-01-27'), y: 23217 }, { x: new Date('2026-01-28'), y: 23066.3 }, { x: new Date('2026-01-29'), y: 23128.3 }, { x: new Date('2026-01-30'), y: 22977.8 }, { x: new Date('2026-02-02'), y: 22945.2 }, { x: new Date('2026-02-03'), y: 22957.8 }, { x: new Date('2026-02-04'), y: 22898.6 }, { x: new Date('2026-02-05'), y: 22768.5 }, { x: new Date('2026-02-06'), y: 22959.2 }, { x: new Date('2026-02-09'), y: 23006.8 }, { x: new Date('2026-02-10'), y: 22913.4 }, { x: new Date('2026-02-11'), y: 22866.9 }, { x: new Date('2026-02-12'), y: 22908.8 }, { x: new Date('2026-02-13'), y: 22972.1 }, { x: new Date('2026-02-16'), y: 22940.1 }, { x: new Date('2026-02-17'), y: 22837.5 }, { x: new Date('2026-02-18'), y: 22777.9 }, { x: new Date('2026-02-19'), y: 22722.2 }, { x: new Date('2026-02-20'), y: 22739.9 }, { x: new Date('2026-02-23'), y: 22653.1 }, { x: new Date('2026-02-24'), y: 22688.5 }, { x: new Date('2026-02-25'), y: 22758.8 }, { x: new Date('2026-02-26'), y: 22589.1 }, { x: new Date('2026-02-27'), y: 22608.4 }, { x: new Date('2026-03-02'), y: 22601.7 }, { x: new Date('2026-03-03'), y: 22512.4 }, { x: new Date('2026-03-04'), y: 22586.2 }, { x: new Date('2026-03-05'), y: 22548.3 }, { x: new Date('2026-03-06'), y: 22673.8 }, { x: new Date('2026-03-09'), y: 22766.5 }, { x: new Date('2026-03-10'), y: 22619.4 }, { x: new Date('2026-03-11'), y: 22625.2 }, { x: new Date('2026-03-12'), y: 22536.3 }, { x: new Date('2026-03-13'), y: 22404.9 }, { x: new Date('2026-03-16'), y: 22629.8 }, { x: new Date('2026-03-17'), y: 22677.6 }, { x: new Date('2026-03-18'), y: 22511.2 }, { x: new Date('2026-03-19'), y: 22806.7 }, { x: new Date('2026-03-20'), y: 22653.9 }, { x: new Date('2026-03-23'), y: 22803.3 }, { x: new Date('2026-03-24'), y: 22771.9 }, { x: new Date('2026-03-25'), y: 22601.1 }, { x: new Date('2026-03-26'), y: 22531.1 }, { x: new Date('2026-03-27'), y: 22494.7 }, { x: new Date('2026-03-30'), y: 22405.6 }, { x: new Date('2026-03-31'), y: 22476.1 }, { x: new Date('2026-04-01'), y: 22593.6 }, { x: new Date('2026-04-02'), y: 22476.9 }, { x: new Date('2026-04-03'), y: 22421.7 }, { x: new Date('2026-04-06'), y: 22544.1 }, { x: new Date('2026-04-07'), y: 22722 }, { x: new Date('2026-04-08'), y: 22783.2 }, { x: new Date('2026-04-09'), y: 22954.6 }, { x: new Date('2026-04-10'), y: 23006.6 }, { x: new Date('2026-04-13'), y: 23095.3 }, { x: new Date('2026-04-14'), y: 23219.9 }, { x: new Date('2026-04-15'), y: 23237.6 }, { x: new Date('2026-04-16'), y: 23171.8 }, { x: new Date('2026-04-17'), y: 23228.1 }, { x: new Date('2026-04-20'), y: 23239.6 }, { x: new Date('2026-04-21'), y: 23157.3 }, { x: new Date('2026-04-22'), y: 23190.5 }, { x: new Date('2026-04-23'), y: 23278.6 }, { x: new Date('2026-04-24'), y: 23265.8 }, { x: new Date('2026-04-27'), y: 23266.7 }, { x: new Date('2026-04-28'), y: 23270.4 }, { x: new Date('2026-04-29'), y: 23286.5 }, { x: new Date('2026-04-30'), y: 23549.4 }, { x: new Date('2026-05-01'), y: 23499.2 }, { x: new Date('2026-05-04'), y: 23505.1 }, { x: new Date('2026-05-05'), y: 23582.5 }, { x: new Date('2026-05-06'), y: 23630.6 }, { x: new Date('2026-05-07'), y: 23492.4 }, { x: new Date('2026-05-08'), y: 23675.4 }, { x: new Date('2026-05-11'), y: 23697.6 }, { x: new Date('2026-05-12'), y: 23685.8 }, { x: new Date('2026-05-13'), y: 23618.8 }, { x: new Date('2026-05-14'), y: 23406.6 }, { x: new Date('2026-05-15'), y: 23268.6 }, { x: new Date('2026-05-18'), y: 23703.4 }, { x: new Date('2026-05-19'), y: 23710.9 }, { x: new Date('2026-05-20'), y: 23651.4 }, { x: new Date('2026-05-21'), y: 23699.9 }, { x: new Date('2026-05-22'), y: 23765.3 }, { x: new Date('2026-05-25'), y: 23951.1 }, { x: new Date('2026-05-26'), y: 23907.9 }, { x: new Date('2026-05-27'), y: 23873.2 }, { x: new Date('2026-05-28'), y: 23905.2 }, { x: new Date('2026-05-29'), y: 24053.9 }, { x: new Date('2026-06-01'), y: 24041.4 }, { x: new Date('2026-06-02'), y: 24016.6 }, { x: new Date('2026-06-03'), y: 24078.6 }, { x: new Date('2026-06-04'), y: 24197.7 }, { x: new Date('2026-06-05'), y: 24033.8 }, { x: new Date('2026-06-08'), y: 24245.5 }, { x: new Date('2026-06-09'), y: 24155.8 }, { x: new Date('2026-06-10'), y: 24000.7 }, { x: new Date('2026-06-11'), y: 24122.9 }, { x: new Date('2026-06-12'), y: 23959.2 }, { x: new Date('2026-06-15'), y: 23735.4 }, { x: new Date('2026-06-16'), y: 23757.5 }, { x: new Date('2026-06-17'), y: 23576 }, { x: new Date('2026-06-18'), y: 23381.2 }, { x: new Date('2026-06-19'), y: 23529.2 }, { x: new Date('2026-06-22'), y: 23624.8 }, { x: new Date('2026-06-23'), y: 23555.9 }, { x: new Date('2026-06-24'), y: 23609.3 }, { x: new Date('2026-06-25'), y: 23641 }, { x: new Date('2026-06-26'), y: 23645.7 }, { x: new Date('2026-06-29'), y: 23651.4 }, { x: new Date('2026-06-30'), y: 23713.4 }, { x: new Date('2026-07-01'), y: 23809.6 }, { x: new Date('2026-07-02'), y: 24015.3 }, { x: new Date('2026-07-03'), y: 23967.7 }, { x: new Date('2026-07-06'), y: 24092.2 }, { x: new Date('2026-07-07'), y: 24007.4 }, { x: new Date('2026-07-08'), y: 24091.3 }, { x: new Date('2026-07-09'), y: 24235.9 }, { x: new Date('2026-07-10'), y: 24200.5 }, { x: new Date('2026-07-13'), y: 24166.6 }, { x: new Date('2026-07-14'), y: 24216.7 }, { x: new Date('2026-07-15'), y: 24460 }, { x: new Date('2026-07-16'), y: 24240.2 }, { x: new Date('2026-07-17'), y: 24070.1 }, { x: new Date('2026-07-20'), y: 24089.4 }, { x: new Date('2026-07-21'), y: 23922.1 }, { x: new Date('2026-07-22'), y: 23913.6 }, { x: new Date('2026-07-23'), y: 23829 }, { x: new Date('2026-07-24'), y: 23902.4 }, { x: new Date('2026-07-27'), y: 23927.7 }, { x: new Date('2026-07-28'), y: 24000.8 }, { x: new Date('2026-07-29'), y: 24134.7 }, { x: new Date('2026-07-30'), y: 24346.5 }, { x: new Date('2026-07-31'), y: 24258.6 }, { x: new Date('2026-08-03'), y: 24156.6 }, { x: new Date('2026-08-04'), y: 24240.5 }, { x: new Date('2026-08-05'), y: 24148.1 }, { x: new Date('2026-08-06'), y: 24104.6 }, { x: new Date('2026-08-07'), y: 24137.2 }, { x: new Date('2026-08-10'), y: 23982.6 }, { x: new Date('2026-08-11'), y: 24089.7 }, { x: new Date('2026-08-12'), y: 24115.6 }, { x: new Date('2026-08-13'), y: 24092.7 }, { x: new Date('2026-08-14'), y: 24125.3 }, { x: new Date('2026-08-17'), y: 24141.3 }, { x: new Date('2026-08-18'), y: 24161.4 }, { x: new Date('2026-08-19'), y: 24260.4 }, { x: new Date('2026-08-20'), y: 24183.9 }, { x: new Date('2026-08-21'), y: 24131.8 }, { x: new Date('2026-08-24'), y: 24141.4 }, { x: new Date('2026-08-25'), y: 24172.4 }, { x: new Date('2026-08-26'), y: 24062.3 }, { x: new Date('2026-08-27'), y: 24086.8 }, { x: new Date('2026-08-28'), y: 23944.3 }, { x: new Date('2026-08-31'), y: 24002.9 }, { x: new Date('2026-09-01'), y: 23943.6 }, { x: new Date('2026-09-02'), y: 23946.2 }, { x: new Date('2026-09-03'), y: 23878.4 }, { x: new Date('2026-09-04'), y: 23846.9 }, { x: new Date('2026-09-07'), y: 23880.4 }, { x: new Date('2026-09-08'), y: 23872.8 }, { x: new Date('2026-09-09'), y: 23713.2 }, { x: new Date('2026-09-10'), y: 23691.5 }, { x: new Date('2026-09-11'), y: 23780.8 }, { x: new Date('2026-09-14'), y: 23819.9 }, { x: new Date('2026-09-15'), y: 23835.8 }, { x: new Date('2026-09-16'), y: 23660.3 }, { x: new Date('2026-09-17'), y: 23698.9 }, { x: new Date('2026-09-18'), y: 23756 }, { x: new Date('2026-09-21'), y: 23833.4 }, { x: new Date('2026-09-22'), y: 23823.9 }, { x: new Date('2026-09-23'), y: 23569 }, { x: new Date('2026-09-24'), y: 23648.8 }, { x: new Date('2026-09-25'), y: 23702.1 }, { x: new Date('2026-09-28'), y: 23819.2 }, { x: new Date('2026-09-29'), y: 23771.3 }, { x: new Date('2026-09-30'), y: 23713.9 }, { x: new Date('2026-10-01'), y: 23690.1 }, { x: new Date('2026-10-02'), y: 23668.3 }, { x: new Date('2026-10-05'), y: 23669.2 }, { x: new Date('2026-10-06'), y: 23757.4 }, { x: new Date('2026-10-07'), y: 23626.6 }, { x: new Date('2026-10-08'), y: 23671.5 }, { x: new Date('2026-10-09'), y: 23664.2 }, { x: new Date('2026-10-12'), y: 23645 }, { x: new Date('2026-10-13'), y: 23712.3 }, { x: new Date('2026-10-14'), y: 23616.4 }, { x: new Date('2026-10-15'), y: 23797.2 }, { x: new Date('2026-10-16'), y: 23998.9 }, { x: new Date('2026-10-19'), y: 23996.5 }, { x: new Date('2026-10-20'), y: 24065.7 }, { x: new Date('2026-10-21'), y: 24115 }, { x: new Date('2026-10-22'), y: 24173.3 }, { x: new Date('2026-10-23'), y: 24218.891389 }, { x: new Date('2026-10-24'), y: 24194.160358 }, { x: new Date('2026-10-25'), y: 24194.160358 }, { x: new Date('2026-10-26'), y: 24194.845547 }, { x: new Date('2026-10-27'), y: 24257.71543 }, { x: new Date('2026-10-28'), y: 24172.15231 }, { x: new Date('2026-10-29'), y: 24187.82169 }, { x: new Date('2026-10-30'), y: 24217.447944 }, { x: new Date('2026-10-31'), y: 24270.782091 }, { x: new Date('2026-11-01'), y: 24276.275941 }, { x: new Date('2026-11-02'), y: 24284.460838 }, { x: new Date('2026-11-03'), y: 24334.586965 }, { x: new Date('2026-11-04'), y: 24335.754092 }, { x: new Date('2026-11-05'), y: 24430.022228 }, { x: new Date('2026-11-06'), y: 24336.636156 }, { x: new Date('2026-11-07'), y: 24206.206634 }, { x: new Date('2026-11-08'), y: 24211.241204 }]; 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);