const fullData = [ { x: new Date('2025-04-22'), y: 24.24 }, { x: new Date('2025-04-23'), y: 24.21 }, { x: new Date('2025-04-24'), y: 24.83 }, { x: new Date('2025-04-25'), y: 25.09 }, { x: new Date('2025-04-26'), y: 25.25 }, { x: new Date('2025-04-27'), y: 25.25 }, { x: new Date('2025-04-28'), y: 25.23 }, { x: new Date('2025-05-02'), y: 25.50 }, { x: new Date('2025-05-03'), y: 25.54 }, { x: new Date('2025-05-05'), y: 25.52 }, { x: new Date('2025-05-06'), y: 25.52 }, { x: new Date('2025-05-07'), y: 25.05 }, { x: new Date('2025-05-08'), y: 25.03 }, { x: new Date('2025-05-09'), y: 25.20 }, { x: new Date('2025-05-10'), y: 25.61 }, { x: new Date('2025-05-11'), y: 25.60 }, { x: new Date('2025-05-12'), y: 25.76 }, { x: new Date('2025-05-13'), y: 26.12 }, { x: new Date('2025-05-14'), y: 26.12 }, { x: new Date('2025-05-15'), y: 26.07 }, { x: new Date('2025-05-16'), y: 25.90 }, { x: new Date('2025-05-17'), y: 25.63 }, { x: new Date('2025-05-19'), y: 25.65 }, { x: new Date('2025-05-20'), y: 25.58 }, { x: new Date('2025-05-21'), y: 25.57 }, { x: new Date('2025-05-22'), y: 25.37 }, { x: new Date('2025-05-24'), y: 25.02 }, { x: new Date('2025-05-26'), y: 25.06 }, { x: new Date('2025-05-27'), y: 25.23 }, { x: new Date('2025-05-29'), y: 25.55 }, { x: new Date('2025-06-02'), y: 25.16 }, { x: new Date('2025-06-06'), y: 25.47 }, { x: new Date('2025-06-10'), y: 25.95 }, { x: new Date('2025-06-11'), y: 26.01 }, { x: new Date('2025-06-12'), y: 26.05 }, { x: new Date('2025-06-14'), y: 25.95 }, { x: new Date('2025-06-15'), y: 25.95 }, { x: new Date('2025-06-16'), y: 25.96 }, { x: new Date('2025-06-17'), y: 26.03 }, { x: new Date('2025-06-18'), y: 26.41 }, { x: new Date('2025-06-20'), y: 26.49 }, { x: new Date('2025-06-21'), y: 26.49 }, { x: new Date('2025-06-22'), y: 26.50 }, { x: new Date('2025-06-23'), y: 26.52 }, { x: new Date('2025-06-24'), y: 26.59 }, { x: new Date('2025-06-25'), y: 26.42 }, { x: new Date('2025-06-26'), y: 26.36 }, { x: new Date('2025-06-27'), y: 26.19 }, { x: new Date('2025-06-28'), y: 26.39 }, { x: new Date('2025-06-29'), y: 26.39 }, { x: new Date('2025-06-30'), y: 26.38 }, { x: new Date('2025-07-01'), y: 26.30 }, { x: new Date('2025-07-02'), y: 26.29 }, { x: new Date('2025-07-04'), y: 26.59 }, { x: new Date('2025-07-05'), y: 26.69 }, { x: new Date('2025-07-06'), y: 26.69 }, { x: new Date('2025-07-07'), y: 26.66 }, { x: new Date('2025-07-08'), y: 26.73 }, { x: new Date('2025-07-09'), y: 26.87 }, { x: new Date('2025-07-10'), y: 26.84 }, { x: new Date('2025-07-11'), y: 26.2282 }, { x: new Date('2025-07-12'), y: 26.51 }, { x: new Date('2025-07-13'), y: 26.5116 }, { x: new Date('2025-07-14'), y: 26.5212 }, { x: new Date('2025-07-15'), y: 26.4946 }, { x: new Date('2025-07-16'), y: 26.5338 }, { x: new Date('2025-07-17'), y: 26.6969 }, { x: new Date('2025-07-19'), y: 26.7651 }, { x: new Date('2025-07-20'), y: 26.7680 }, { x: new Date('2025-07-21'), y: 26.7461 }, { x: new Date('2025-07-22'), y: 26.4774 }, { x: new Date('2025-07-23'), y: 26.3930 }, { x: new Date('2025-07-24'), y: 26.3760 }, { x: new Date('2025-07-25'), y: 26.5697 }, { x: new Date('2025-07-26'), y: 26.6930 }, { x: new Date('2025-07-27'), y: 26.7081 }, { x: new Date('2025-07-29'), y: 26.5553 }, { x: new Date('2025-07-30'), y: 26.6054 }, { x: new Date('2025-07-31'), y: 26.5855 }, { x: new Date('2025-08-01'), y: 26.87 }, { x: new Date('2025-08-02'), y: 26.7283 }, { x: new Date('2025-08-03'), y: 26.7395 }, { x: new Date('2025-08-04'), y: 26.7655 }, { x: new Date('2025-08-05'), y: 26.6873 }, { x: new Date('2025-08-07'), y: 26.8498 }, { x: new Date('2025-08-08'), y: 26.9881 }, { x: new Date('2025-08-09'), y: 27.2460 }, { x: new Date('2025-08-10'), y: 27.2486 }, { x: new Date('2025-08-11'), y: 27.2342 }, { x: new Date('2025-08-12'), y: 27.1675 }, { x: new Date('2025-08-13'), y: 27.3141 }, { x: new Date('2025-08-14'), y: 27.3071 }, { x: new Date('2025-08-15'), y: 27.1606 }, { x: new Date('2025-08-16'), y: 27.2293 }, { x: new Date('2025-08-18'), y: 27.2573 }, { x: new Date('2025-08-19'), y: 27.2921 }, { x: new Date('2025-08-20'), y: 27.1418 }, { x: new Date('2025-08-21'), y: 26.8904 }, { x: new Date('2025-08-22'), y: 26.9546 }, { x: new Date('2025-08-23'), y: 27.1433 }, { x: new Date('2025-08-24'), y: 27.1553 }, { x: new Date('2025-08-25'), y: 27.1702 }, { x: new Date('2025-08-26'), y: 27.1542 }, { x: new Date('2025-08-27'), y: 27.273 }, { x: new Date('2025-08-28'), y: 27.2127 }, { x: new Date('2025-08-29'), y: 27.1617 }, { x: new Date('2025-08-30'), y: 27.1452 }, { x: new Date('2025-08-31'), y: 27.1464 }, { x: new Date('2025-09-01'), y: 27.1431 }, { x: new Date('2025-09-02'), y: 27.1064 }, { x: new Date('2025-09-03'), y: 27.1569 }, { x: new Date('2025-09-04'), y: 27.1816 }, { x: new Date('2025-09-05'), y: 27.1962 }, { x: new Date('2025-09-06'), y: 27.2409 }, { x: new Date('2025-09-07'), y: 27.2358 }, { x: new Date('2025-09-08'), y: 27.2545 }, { x: new Date('2025-09-09'), y: 27.2823 }, { x: new Date('2025-09-10'), y: 27.0945 }, { x: new Date('2025-09-11'), y: 27.1528 }, { x: new Date('2025-09-12'), y: 27.3111 }, { x: new Date('2025-09-13'), y: 27.447 }, { x: new Date('2025-09-14'), y: 27.4386 }, { x: new Date('2025-09-15'), y: 27.4199 }, { x: new Date('2025-09-16'), y: 27.632 }, { x: new Date('2025-09-17'), y: 27.6586 }, { x: new Date('2025-09-18'), y: 27.6294 }, { x: new Date('2025-09-19'), y: 27.8807 }, { x: new Date('2025-09-20'), y: 27.8274 }, { x: new Date('2025-09-21'), y: 27.8333 }, { x: new Date('2025-09-22'), y: 27.7783 }, { x: new Date('2025-09-23'), y: 27.68 }, { x: new Date('2025-09-24'), y: 27.6882 }, { x: new Date('2025-09-25'), y: 28.0222 }, { x: new Date('2025-09-26'), y: 27.9562 }, { x: new Date('2025-09-27'), y: 27.9599 }, { x: new Date('2025-09-28'), y: 27.9525 }, { x: new Date('2025-09-29'), y: 27.9267 }, { x: new Date('2025-09-30'), y: 27.9056 }, { x: new Date('2025-10-01'), y: 27.8098 }, { x: new Date('2025-10-02'), y: 27.6548 }, { x: new Date('2025-10-03'), y: 27.6088 }, { x: new Date('2025-10-04'), y: 27.5903 }, { x: new Date('2025-10-05'), y: 27.5934 }, { x: new Date('2025-10-06'), y: 27.5985 }, { x: new Date('2025-10-06'), y: 27.5985 }, { x: new Date('2025-10-07'), y: 28.1944 }, { x: new Date('2025-10-08'), y: 28.3278 }, { x: new Date('2025-10-09'), y: 28.5352 }, { x: new Date('2025-10-10'), y: 28.5925 }, { x: new Date('2025-10-11'), y: 28.342 }, { x: new Date('2025-10-12'), y: 28.3711 }, { x: new Date('2025-10-13'), y: 28.3278 }, { x: new Date('2025-10-14'), y: 27.7952 }, { x: new Date('2025-10-15'), y: 27.6736 }, { x: new Date('2025-10-16'), y: 27.7288 }, { x: new Date('2025-10-17'), y: 27.7565 }, { x: new Date('2025-10-18'), y: 27.6838 }, { x: new Date('2025-10-20'), y: 27.6804 }, { x: new Date('2025-10-21'), y: 27.722 }, { x: new Date('2025-10-22'), y: 28.2075 }, { x: new Date('2025-10-23'), y: 28.1805 }, { x: new Date('2025-10-24'), y: 28.3424 }, { x: new Date('2025-10-25'), y: 28.3924 }, { x: new Date('2025-10-26'), y: 28.3924 }, { x: new Date('2025-10-27'), y: 28.3907 }, { x: new Date('2025-10-28'), y: 28.3878 }, { x: new Date('2025-10-29'), y: 28.4216 }, { x: new Date('2025-10-30'), y: 28.3253 }, { x: new Date('2025-10-31'), y: 28.4664 }, { x: new Date('2025-11-01'), y: 28.6329127 }, { x: new Date('2025-11-02'), y: 28.6343 }, { x: new Date('2025-11-03'), y: 28.6448 }, { x: new Date('2025-11-04'), y: 28.771 }, { x: new Date('2025-11-05'), y: 28.4978 }, { x: new Date('2025-11-06'), y: 28.4771 }, { x: new Date('2025-11-07'), y: 28.73123163 }, { x: new Date('2025-11-08'), y: 28.7401 }, { x: new Date('2025-11-09'), y: 28.6711 }, { x: new Date('2025-11-10'), y: 28.672 }, { x: new Date('2025-11-11'), y: 28.6888 }, { x: new Date('2025-11-12'), y: 28.9769 }, { x: new Date('2025-11-13'), y: 29.1843 }, { x: new Date('2025-11-14'), y: 29.3583 }, { x: new Date('2025-11-15'), y: 29.2434 }, { x: new Date('2025-11-16'), y: 29.1902 }, { x: new Date('2025-11-17'), y: 29.1902 }, { x: new Date('2025-11-18'), y: 29.1808 }, { x: new Date('2025-11-19'), y: 29.1973 }, { x: new Date('2025-11-20'), y: 29.1739 }, { x: new Date('2025-11-21'), y: 29.3115 }, { x: new Date('2025-11-22'), y: 29.5372 }, { x: new Date('2025-11-23'), y: 29.3356 }, { x: new Date('2025-11-24'), y: 29.3356 }, { x: new Date('2025-11-25'), y: 29.1076 }, { x: new Date('2025-11-26'), y: 29.1076 }, { x: new Date('2025-11-27'), y: 29.0612 }, { x: new Date('2025-11-28'), y: 29.0796 }, { x: new Date('2025-11-29'), y: 29.2101 }, { x: new Date('2025-11-30'), y: 29.248 }, { x: new Date('2025-12-01'), y: 29.2534 }, { x: new Date('2025-12-02'), y: 28.9981 }, { x: new Date('2025-12-03'), y: 29.1566 }, { x: new Date('2025-12-04'), y: 29.2217 }, { x: new Date('2025-12-05'), y: 29.1941 }, { x: new Date('2025-12-06'), y: 29.2125 }, { x: new Date('2025-12-07'), y: 29.2057 }, { x: new Date('2025-12-08'), y: 29.1673 }, { x: new Date('2025-12-09'), y: 28.7069 }, { x: new Date('2025-12-10'), y: 28.7112 }, { x: new Date('2025-12-11'), y: 28.7624 }, { x: new Date('2025-12-12'), y: 28.5369 }, { x: new Date('2025-12-13'), y: 28.862 }, { x: new Date('2025-12-14'), y: 28.8639 }, { x: new Date('2025-12-15'), y: 28.8391 }, { x: new Date('2025-12-16'), y: 28.6989 }, { x: new Date('2025-12-17'), y: 28.5347 }, { x: new Date('2025-12-18'), y: 28.2209 }, { x: new Date('2025-12-19'), y: 28.1889 }, { x: new Date('2025-12-20'), y: 28.4988 }, { x: new Date('2025-12-21'), y: 28.4924 }, { x: new Date('2025-12-22'), y: 28.4424 }, { x: new Date('2025-12-23'), y: 28.4204 }, { x: new Date('2025-12-24'), y: 27.9217 }, { x: new Date('2025-12-25'), y: 28.2432 }, { x: new Date('2025-12-26'), y: 28.2367 }, { x: new Date('2025-12-27'), y: 28.2678 }, { x: new Date('2025-12-29'), y: 28.2638 }, { x: new Date('2025-12-30'), y: 28.2275 }, { x: new Date('2025-12-31'), y: 28.0298 }, { x: new Date('2026-01-01'), y: 28.2918 }, { x: new Date('2026-01-02'), y: 28.6079 }, { x: new Date('2026-01-03'), y: 28.6174 }, { x: new Date('2026-01-04'), y: 28.7729 }, { x: new Date('2026-01-05'), y: 28.7528 }, { x: new Date('2026-01-06'), y: 28.9145 }, { x: new Date('2026-01-07'), y: 28.901 }, { x: new Date('2026-01-08'), y: 28.9622 }, { x: new Date('2026-01-09'), y: 29.0691 }, { x: new Date('2026-01-10'), y: 29.1172 }, { x: new Date('2026-01-11'), y: 29.284 }, { x: new Date('2026-01-12'), y: 29.2822 }, { x: new Date('2026-01-13'), y: 29.4235 }, { x: new Date('2026-01-14'), y: 29.4079 }, { x: new Date('2026-01-15'), y: 29.5527 }, { x: new Date('2026-01-16'), y: 29.5515 }, { x: new Date('2026-01-17'), y: 29.4711 }, { x: new Date('2026-01-18'), y: 29.4358 }, { x: new Date('2026-01-19'), y: 29.4409 }, { x: new Date('2026-01-20'), y: 29.4202 }, { x: new Date('2026-01-21'), y: 29.4486 }, { x: new Date('2026-01-22'), y: 29.3848 }, { x: new Date('2026-01-23'), y: 29.4613 }, { x: new Date('2026-01-24'), y: 29.8704 }, { x: new Date('2026-01-25'), y: 29.941 }, { x: new Date('2026-01-26'), y: 29.9052 }, { x: new Date('2026-01-27'), y: 29.9097 }, { x: new Date('2026-01-28'), y: 29.179 }, { x: new Date('2026-01-29'), y: 29.1653 }, { x: new Date('2026-01-30'), y: 29.4777 }, { x: new Date('2026-01-31'), y: 29.4734 }, { x: new Date('2026-02-01'), y: 29.5348 }, { x: new Date('2026-02-02'), y: 29.5618 }, { x: new Date('2026-02-03'), y: 29.504 }, { x: new Date('2026-02-04'), y: 29.5405 }, { x: new Date('2026-02-05'), y: 29.7799 }, { x: new Date('2026-02-06'), y: 29.9296 }, { x: new Date('2026-02-07'), y: 29.8163 }, { x: new Date('2026-02-08'), y: 29.8795 }, { x: new Date('2026-02-09'), y: 29.8794 }, { x: new Date('2026-02-10'), y: 30.1249 }, { x: new Date('2026-02-11'), y: 30.0454 }, { x: new Date('2026-02-12'), y: 29.7784 }, { x: new Date('2026-02-13'), y: 29.5579 }, { x: new Date('2026-02-14'), y: 29.5268 }, { x: new Date('2026-02-15'), y: 29.3687 }, { x: new Date('2026-02-16'), y: 29.3816 }, { x: new Date('2026-02-17'), y: 29.373 }, { x: new Date('2026-02-18'), y: 29.363 }, { x: new Date('2026-02-19'), y: 29.3022 }, { x: new Date('2026-02-20'), y: 29.4261 }, { x: new Date('2026-02-21'), y: 29.6178 }, { x: new Date('2026-02-22'), y: 29.8119 }, { x: new Date('2026-02-23'), y: 29.8072 }, { x: new Date('2026-02-24'), y: 29.8401 }, { x: new Date('2026-02-25'), y: 29.9137 }, { x: new Date('2026-02-26'), y: 30.1518 }, { x: new Date('2026-02-27'), y: 30.4697 }, { x: new Date('2026-02-28'), y: 30.4206 }, { x: new Date('2026-03-01'), y: 30.3401 }, { x: new Date('2026-03-02'), y: 30.3433 }, { x: new Date('2026-03-03'), y: 30.3213 }, { x: new Date('2026-03-04'), y: 30.3536 }, { x: new Date('2026-03-05'), y: 29.9627 }, { x: new Date('2026-03-06'), y: 30.0717 }, { x: new Date('2026-03-07'), y: 30.0356 }, { x: new Date('2026-03-08'), y: 29.9563 }, { x: new Date('2026-03-09'), y: 29.9615 }, { x: new Date('2026-03-10'), y: 29.9748 }, { x: new Date('2026-03-11'), y: 30.3135 }, { x: new Date('2026-03-12'), y: 30.5258 }, { x: new Date('2026-03-13'), y: 30.7031 }, { x: new Date('2026-03-14'), y: 30.705 }, { x: new Date('2026-03-15'), y: 30.3714 }, { x: new Date('2026-03-16'), y: 30.3847 }, { x: new Date('2026-03-17'), y: 30.3791 }, { x: new Date('2026-03-18'), y: 30.2695 }, { x: new Date('2026-03-19'), y: 30.553 }, { x: new Date('2026-03-20'), y: 30.4038 }, { x: new Date('2026-03-21'), y: 30.3276 }, { x: new Date('2026-03-22'), y: 30.2946 }, { x: new Date('2026-03-23'), y: 30.274 }, { x: new Date('2026-03-24'), y: 30.2094 }, { x: new Date('2026-03-25'), y: 30.186 }, { x: new Date('2026-03-26'), y: 30.269 }, { x: new Date('2026-03-27'), y: 30.3702 }, { x: new Date('2026-03-28'), y: 30.4863 }, { x: new Date('2026-03-29'), y: 30.5171 }, { x: new Date('2026-03-30'), y: 30.5165 }, { x: new Date('2026-03-31'), y: 30.5888 }, { x: new Date('2026-04-01'), y: 30.4298 }, { x: new Date('2026-04-02'), y: 30.65278342 }, { x: new Date('2026-04-03'), y: 30.6599 }, { x: new Date('2026-04-04'), y: 30.9184 }, { x: new Date('2026-04-05'), y: 30.941 }, { x: new Date('2026-04-06'), y: 30.9382 }, { x: new Date('2026-04-07'), y: 30.9559 }, { x: new Date('2026-04-08'), y: 30.9541 }, { x: new Date('2026-04-09'), y: 31.0355 }, { x: new Date('2026-04-10'), y: 31.0755 }, { x: new Date('2026-04-11'), y: 31.2226 }, { x: new Date('2026-04-12'), y: 31.5821 }, { x: new Date('2026-04-13'), y: 31.5589 }, { x: new Date('2026-04-14'), y: 31.7887 }, { x: new Date('2026-04-15'), y: 31.8304 }, { x: new Date('2026-04-16'), y: 31.8639 }, { x: new Date('2026-04-17'), y: 31.8365 }, { x: new Date('2026-04-18'), y: 31.8609 }, { x: new Date('2026-04-19'), y: 31.8271 }, { x: new Date('2026-04-20'), y: 31.8426 }, { x: new Date('2026-04-21'), y: 31.9423 }, { x: new Date('2026-04-22'), y: 31.9054 }, { x: new Date('2026-04-23'), y: 32.1176 }, { x: new Date('2026-04-24'), y: 32.0783 }, { x: new Date('2026-04-25'), y: 32.1408 }, { x: new Date('2026-04-26'), y: 31.7991 }, { x: new Date('2026-04-27'), y: 31.8049 }, { x: new Date('2026-04-28'), y: 31.8564 }, { x: new Date('2026-04-29'), y: 32.0043 }, { x: new Date('2026-04-30'), y: 32.0656 }, { x: new Date('2026-05-01'), y: 32.0656 }]; const options = { chart: { type: 'area', height: 300, toolbar: { show: false }, zoom: { enabled: false } }, series: [{ name: '', data: fullData }], xaxis: { type: 'datetime' }, yaxis: { tickAmount: 7, labels: { formatter: val => `${val.toLocaleString('ja-JP')}円`, offsetX: -17 } }, grid: { padding: { left: -10, right: 0 } }, tooltip: { x: { formatter: val => { const date = new Date(val); return new Intl.DateTimeFormat('ja-JP', { year: 'numeric', month: 'long', day: 'numeric', weekday: 'short' }).format(date); } }, y: { formatter: val => `${val.toLocaleString('ja-JP')}円` } }, 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);