const fullData = [ { x: new Date('2025-04-21'), y: 19.43 }, { x: new Date('2025-04-22'), y: 19.32 }, { x: new Date('2025-04-23'), y: 19.35 }, { x: new Date('2025-04-24'), y: 19.53 }, { x: new Date('2025-04-25'), y: 19.56 }, { x: new Date('2025-04-26'), y: 19.68 }, { x: new Date('2025-04-27'), y: 19.68 }, { x: new Date('2025-04-28'), y: 19.70 }, { x: new Date('2025-05-02'), y: 19.86 }, { x: new Date('2025-05-03'), y: 19.97 }, { x: new Date('2025-05-05'), y: 20.00 }, { x: new Date('2025-05-06'), y: 20.00 }, { x: new Date('2025-05-07'), y: 19.83 }, { x: new Date('2025-05-08'), y: 19.85 }, { x: new Date('2025-05-09'), y: 20.05 }, { x: new Date('2025-05-10'), y: 20.05 }, { x: new Date('2025-05-11'), y: 20.05 }, { x: new Date('2025-05-12'), y: 20.14 }, { x: new Date('2025-05-13'), y: 20.55 }, { x: new Date('2025-05-14'), y: 20.52 }, { x: new Date('2025-05-15'), y: 20.32 }, { x: new Date('2025-05-16'), y: 20.22 }, { x: new Date('2025-05-17'), y: 20.21 }, { x: new Date('2025-05-19'), y: 20.16 }, { x: new Date('2025-05-20'), y: 20.09 }, { x: new Date('2025-05-21'), y: 20.02 }, { x: new Date('2025-05-22'), y: 19.96 }, { x: new Date('2025-05-24'), y: 19.88 }, { x: new Date('2025-05-26'), y: 19.89 }, { x: new Date('2025-05-27'), y: 19.87 }, { x: new Date('2025-05-29'), y: 20.11 }, { x: new Date('2025-06-02'), y: 19.98 }, { x: new Date('2025-06-06'), y: 19.98 }, { x: new Date('2025-06-10'), y: 20.11 }, { x: new Date('2025-06-11'), y: 20.13 }, { x: new Date('2025-06-12'), y: 20.10 }, { x: new Date('2025-06-14'), y: 20.04 }, { x: new Date('2025-06-15'), y: 20.04 }, { x: new Date('2025-06-16'), y: 20.10 }, { x: new Date('2025-06-17'), y: 20.10 }, { x: new Date('2025-06-18'), y: 20.18 }, { x: new Date('2025-06-20'), y: 20.22 }, { x: new Date('2025-06-21'), y: 20.29 }, { x: new Date('2025-06-22'), y: 20.29 }, { x: new Date('2025-06-23'), y: 20.32 }, { x: new Date('2025-06-24'), y: 20.44 }, { x: new Date('2025-06-25'), y: 20.22 }, { x: new Date('2025-06-26'), y: 20.27 }, { x: new Date('2025-06-27'), y: 20.18 }, { x: new Date('2025-06-28'), y: 20.18 }, { x: new Date('2025-06-29'), y: 20.18 }, { x: new Date('2025-06-30'), y: 20.18 }, { x: new Date('2025-07-01'), y: 20.13 }, { x: new Date('2025-07-02'), y: 20.01 }, { x: new Date('2025-07-04'), y: 20.16 }, { x: new Date('2025-07-05'), y: 20.17 }, { x: new Date('2025-07-06'), y: 20.16 }, { x: new Date('2025-07-07'), y: 20.16 }, { x: new Date('2025-07-08'), y: 20.31 }, { x: new Date('2025-07-09'), y: 20.43 }, { x: new Date('2025-07-10'), y: 20.38 }, { x: new Date('2025-07-11'), y: 20.3746 }, { x: new Date('2025-07-12'), y: 20.53 }, { x: new Date('2025-07-13'), y: 20.5219 }, { x: new Date('2025-07-14'), y: 20.5317 }, { x: new Date('2025-07-15'), y: 20.5773 }, { x: new Date('2025-07-16'), y: 20.6629 }, { x: new Date('2025-07-17'), y: 20.6583 }, { x: new Date('2025-07-19'), y: 20.6948 }, { x: new Date('2025-07-20'), y: 20.7099 }, { x: new Date('2025-07-21'), y: 20.7054 }, { x: new Date('2025-07-22'), y: 20.5603 }, { x: new Date('2025-07-23'), y: 20.4952 }, { x: new Date('2025-07-24'), y: 20.4657 }, { x: new Date('2025-07-25'), y: 20.5077 }, { x: new Date('2025-07-26'), y: 20.5922 }, { x: new Date('2025-07-27'), y: 20.5937 }, { x: new Date('2025-07-29'), y: 20.6686 }, { x: new Date('2025-07-30'), y: 20.6862 }, { x: new Date('2025-07-31'), y: 20.6859 }, { x: new Date('2025-08-01'), y: 20.8611 }, { x: new Date('2025-08-02'), y: 20.6246 }, { x: new Date('2025-08-03'), y: 20.6358 }, { x: new Date('2025-08-04'), y: 20.5420 }, { x: new Date('2025-08-05'), y: 20.5200 }, { x: new Date('2025-08-07'), y: 20.5119 }, { x: new Date('2025-08-08'), y: 20.5091 }, { x: new Date('2025-08-09'), y: 20.5531 }, { x: new Date('2025-08-10'), y: 20.5519 }, { x: new Date('2025-08-11'), y: 20.5508 }, { x: new Date('2025-08-12'), y: 20.5718 }, { x: new Date('2025-08-13'), y: 20.5990 }, { x: new Date('2025-08-14'), y: 20.5242 }, { x: new Date('2025-08-15'), y: 20.5268 }, { x: new Date('2025-08-16'), y: 20.4698 }, { x: new Date('2025-08-18'), y: 20.4812 }, { x: new Date('2025-08-19'), y: 20.5606 }, { x: new Date('2025-08-20'), y: 20.56 }, { x: new Date('2025-08-21'), y: 20.5268 }, { x: new Date('2025-08-22'), y: 20.6122 }, { x: new Date('2025-08-23'), y: 20.5926 }, { x: new Date('2025-08-24'), y: 20.6047 }, { x: new Date('2025-08-25'), y: 20.573 }, { x: new Date('2025-08-26'), y: 20.6057 }, { x: new Date('2025-08-27'), y: 20.5964 }, { x: new Date('2025-08-28'), y: 20.6252 }, { x: new Date('2025-08-29'), y: 20.6216 }, { x: new Date('2025-08-30'), y: 20.6267 }, { x: new Date('2025-08-31'), y: 20.6218 }, { x: new Date('2025-09-01'), y: 20.6361 }, { x: new Date('2025-09-02'), y: 20.6191 }, { x: new Date('2025-09-03'), y: 20.7686 }, { x: new Date('2025-09-04'), y: 20.769 }, { x: new Date('2025-09-05'), y: 20.7814 }, { x: new Date('2025-09-06'), y: 20.702 }, { x: new Date('2025-09-07'), y: 20.7104 }, { x: new Date('2025-09-08'), y: 20.7881 }, { x: new Date('2025-09-09'), y: 20.7089 }, { x: new Date('2025-09-10'), y: 20.641 }, { x: new Date('2025-09-11'), y: 20.6958 }, { x: new Date('2025-09-12'), y: 20.7081 }, { x: new Date('2025-09-13'), y: 20.7205 }, { x: new Date('2025-09-14'), y: 20.7199 }, { x: new Date('2025-09-15'), y: 20.7301 }, { x: new Date('2025-09-16'), y: 20.6999 }, { x: new Date('2025-09-17'), y: 20.6342 }, { x: new Date('2025-09-18'), y: 20.6328 }, { x: new Date('2025-09-19'), y: 20.7439 }, { x: new Date('2025-09-20'), y: 20.787 }, { x: new Date('2025-09-21'), y: 20.7864 }, { x: new Date('2025-09-22'), y: 20.802 }, { x: new Date('2025-09-23'), y: 20.7716 }, { x: new Date('2025-09-24'), y: 20.7629 }, { x: new Date('2025-09-25'), y: 20.8329 }, { x: new Date('2025-09-26'), y: 20.9313 }, { x: new Date('2025-09-27'), y: 20.9687 }, { x: new Date('2025-09-28'), y: 20.9634 }, { x: new Date('2025-09-29'), y: 20.9553 }, { x: new Date('2025-09-30'), y: 20.8777 }, { x: new Date('2025-10-01'), y: 20.7742 }, { x: new Date('2025-10-02'), y: 20.6405 }, { x: new Date('2025-10-03'), y: 20.6384 }, { x: new Date('2025-10-04'), y: 20.6786 }, { x: new Date('2025-10-05'), y: 20.6753 }, { x: new Date('2025-10-06'), y: 20.8297 }, { x: new Date('2025-10-06'), y: 20.8297 }, { x: new Date('2025-10-07'), y: 21.0488 }, { x: new Date('2025-10-08'), y: 21.2204 }, { x: new Date('2025-10-09'), y: 21.383 }, { x: new Date('2025-10-10'), y: 21.4598 }, { x: new Date('2025-10-11'), y: 21.3156 }, { x: new Date('2025-10-12'), y: 21.3189 }, { x: new Date('2025-10-13'), y: 21.3221 }, { x: new Date('2025-10-14'), y: 21.3454 }, { x: new Date('2025-10-15'), y: 21.2907 }, { x: new Date('2025-10-16'), y: 21.2274 }, { x: new Date('2025-10-17'), y: 21.1521 }, { x: new Date('2025-10-18'), y: 21.1309 }, { x: new Date('2025-10-20'), y: 21.1309 }, { x: new Date('2025-10-21'), y: 21.1309 }, { x: new Date('2025-10-22'), y: 21.2031 }, { x: new Date('2025-10-23'), y: 21.3602 }, { x: new Date('2025-10-24'), y: 21.4084 }, { x: new Date('2025-10-25'), y: 21.4585 }, { x: new Date('2025-10-26'), y: 21.4585 }, { x: new Date('2025-10-27'), y: 21.4317 }, { x: new Date('2025-10-28'), y: 21.479 }, { x: new Date('2025-10-29'), y: 21.4892 }, { x: new Date('2025-10-30'), y: 21.4351 }, { x: new Date('2025-10-31'), y: 21.4567 }, { x: new Date('2025-11-01'), y: 21.63508937 }, { x: new Date('2025-11-02'), y: 21.6351 }, { x: new Date('2025-11-03'), y: 21.6382 }, { x: new Date('2025-11-04'), y: 21.6432 }, { x: new Date('2025-11-05'), y: 21.571 }, { x: new Date('2025-11-06'), y: 21.5848 }, { x: new Date('2025-11-07'), y: 21.54278414 }, { x: new Date('2025-11-08'), y: 21.5358 }, { x: new Date('2025-11-09'), y: 21.5188 }, { x: new Date('2025-11-10'), y: 21.5107 }, { x: new Date('2025-11-11'), y: 21.5723 }, { x: new Date('2025-11-12'), y: 21.6335 }, { x: new Date('2025-11-13'), y: 21.6464 }, { x: new Date('2025-11-14'), y: 21.7408 }, { x: new Date('2025-11-15'), y: 21.7715 }, { x: new Date('2025-11-16'), y: 21.7463 }, { x: new Date('2025-11-17'), y: 21.7463 }, { x: new Date('2025-11-18'), y: 21.7513 }, { x: new Date('2025-11-19'), y: 21.797 }, { x: new Date('2025-11-20'), y: 21.8499 }, { x: new Date('2025-11-21'), y: 21.9936 }, { x: new Date('2025-11-22'), y: 22.1048 }, { x: new Date('2025-11-23'), y: 22.0331 }, { x: new Date('2025-11-24'), y: 22.0331 }, { x: new Date('2025-11-25'), y: 22.0698 }, { x: new Date('2025-11-26'), y: 22.0698 }, { x: new Date('2025-11-27'), y: 22.0367 }, { x: new Date('2025-11-28'), y: 22.0781 }, { x: new Date('2025-11-29'), y: 22.0584 }, { x: new Date('2025-11-30'), y: 22.0525 }, { x: new Date('2025-12-01'), y: 22.0587 }, { x: new Date('2025-12-02'), y: 21.9622 }, { x: new Date('2025-12-03'), y: 22.0238 }, { x: new Date('2025-12-04'), y: 21.9846 }, { x: new Date('2025-12-05'), y: 21.9133 }, { x: new Date('2025-12-06'), y: 21.927 }, { x: new Date('2025-12-07'), y: 21.9153 }, { x: new Date('2025-12-08'), y: 21.9395 }, { x: new Date('2025-12-09'), y: 22.0049 }, { x: new Date('2025-12-10'), y: 22.1294 }, { x: new Date('2025-12-11'), y: 22.1098 }, { x: new Date('2025-12-12'), y: 22.0238 }, { x: new Date('2025-12-13'), y: 22.0705 }, { x: new Date('2025-12-14'), y: 22.059 }, { x: new Date('2025-12-15'), y: 22.0675 }, { x: new Date('2025-12-16'), y: 21.9961 }, { x: new Date('2025-12-17'), y: 21.9752 }, { x: new Date('2025-12-18'), y: 22.0519 }, { x: new Date('2025-12-19'), y: 22.0756 }, { x: new Date('2025-12-20'), y: 22.2952 }, { x: new Date('2025-12-21'), y: 22.2723 }, { x: new Date('2025-12-22'), y: 22.3463 }, { x: new Date('2025-12-23'), y: 22.3093 }, { x: new Date('2025-12-24'), y: 22.2157 }, { x: new Date('2025-12-25'), y: 22.2062 }, { x: new Date('2025-12-26'), y: 22.2316 }, { x: new Date('2025-12-27'), y: 22.3021 }, { x: new Date('2025-12-29'), y: 22.2812 }, { x: new Date('2025-12-30'), y: 22.3074 }, { x: new Date('2025-12-31'), y: 22.2689 }, { x: new Date('2026-01-01'), y: 22.3082 }, { x: new Date('2026-01-02'), y: 22.3896 }, { x: new Date('2026-01-03'), y: 22.4201 }, { x: new Date('2026-01-04'), y: 22.4094 }, { x: new Date('2026-01-05'), y: 22.3846 }, { x: new Date('2026-01-06'), y: 22.429 }, { x: new Date('2026-01-07'), y: 22.3989 }, { x: new Date('2026-01-08'), y: 22.3951 }, { x: new Date('2026-01-09'), y: 22.3795 }, { x: new Date('2026-01-10'), y: 22.4345 }, { x: new Date('2026-01-11'), y: 22.5676 }, { x: new Date('2026-01-12'), y: 22.551 }, { x: new Date('2026-01-13'), y: 22.6224 }, { x: new Date('2026-01-14'), y: 22.6365 }, { x: new Date('2026-01-15'), y: 22.7479 }, { x: new Date('2026-01-16'), y: 22.7017 }, { x: new Date('2026-01-17'), y: 22.7333 }, { x: new Date('2026-01-18'), y: 22.6648 }, { x: new Date('2026-01-19'), y: 22.6539 }, { x: new Date('2026-01-20'), y: 22.625 }, { x: new Date('2026-01-21'), y: 22.6632 }, { x: new Date('2026-01-22'), y: 22.6846 }, { x: new Date('2026-01-23'), y: 22.6938 }, { x: new Date('2026-01-24'), y: 22.7155 }, { x: new Date('2026-01-25'), y: 22.538 }, { x: new Date('2026-01-26'), y: 22.6072 }, { x: new Date('2026-01-27'), y: 22.2976 }, { x: new Date('2026-01-28'), y: 22.1551 }, { x: new Date('2026-01-29'), y: 21.9884 }, { x: new Date('2026-01-30'), y: 22.0227 }, { x: new Date('2026-01-31'), y: 22.0263 }, { x: new Date('2026-02-01'), y: 22.1908 }, { x: new Date('2026-02-02'), y: 22.2118 }, { x: new Date('2026-02-03'), y: 22.2984 }, { x: new Date('2026-02-04'), y: 22.3466 }, { x: new Date('2026-02-05'), y: 22.442 }, { x: new Date('2026-02-06'), y: 22.5527 }, { x: new Date('2026-02-07'), y: 22.6144 }, { x: new Date('2026-02-08'), y: 22.6161 }, { x: new Date('2026-02-09'), y: 22.5921 }, { x: new Date('2026-02-10'), y: 22.6961 }, { x: new Date('2026-02-11'), y: 22.5222 }, { x: new Date('2026-02-12'), y: 22.35 }, { x: new Date('2026-02-13'), y: 22.1622 }, { x: new Date('2026-02-14'), y: 22.1298 }, { x: new Date('2026-02-15'), y: 22.1253 }, { x: new Date('2026-02-16'), y: 22.1096 }, { x: new Date('2026-02-17'), y: 22.1127 }, { x: new Date('2026-02-18'), y: 22.2075 }, { x: new Date('2026-02-19'), y: 22.1843 }, { x: new Date('2026-02-20'), y: 22.3759 }, { x: new Date('2026-02-21'), y: 22.4162 }, { x: new Date('2026-02-22'), y: 22.4377 }, { x: new Date('2026-02-23'), y: 22.4289 }, { x: new Date('2026-02-24'), y: 22.4034 }, { x: new Date('2026-02-25'), y: 22.3637 }, { x: new Date('2026-02-26'), y: 22.637 }, { x: new Date('2026-02-27'), y: 22.7616 }, { x: new Date('2026-02-28'), y: 22.7704 }, { x: new Date('2026-03-01'), y: 22.7287 }, { x: new Date('2026-03-02'), y: 22.7366 }, { x: new Date('2026-03-03'), y: 22.7599 }, { x: new Date('2026-03-04'), y: 22.7835 }, { x: new Date('2026-03-05'), y: 22.8048 }, { x: new Date('2026-03-06'), y: 22.7581 }, { x: new Date('2026-03-07'), y: 22.7973 }, { x: new Date('2026-03-08'), y: 22.8249 }, { x: new Date('2026-03-09'), y: 22.8102 }, { x: new Date('2026-03-10'), y: 22.8947 }, { x: new Date('2026-03-11'), y: 22.8484 }, { x: new Date('2026-03-12'), y: 22.9663 }, { x: new Date('2026-03-13'), y: 23.0966 }, { x: new Date('2026-03-14'), y: 23.1308 }, { x: new Date('2026-03-15'), y: 23.1013 }, { x: new Date('2026-03-16'), y: 23.0891 }, { x: new Date('2026-03-17'), y: 23.0989 }, { x: new Date('2026-03-18'), y: 23.0917 }, { x: new Date('2026-03-19'), y: 23.0744 }, { x: new Date('2026-03-20'), y: 22.9874 }, { x: new Date('2026-03-21'), y: 23.0443 }, { x: new Date('2026-03-22'), y: 23.0337 }, { x: new Date('2026-03-23'), y: 23.027 }, { x: new Date('2026-03-24'), y: 23.0343 }, { x: new Date('2026-03-25'), y: 23.0229 }, { x: new Date('2026-03-26'), y: 23.0013 }, { x: new Date('2026-03-27'), y: 23.0526 }, { x: new Date('2026-03-28'), y: 23.0747 }, { x: new Date('2026-03-29'), y: 23.1377 }, { x: new Date('2026-03-30'), y: 23.1149 }, { x: new Date('2026-03-31'), y: 23.1696 }, { x: new Date('2026-04-01'), y: 23.0973 }, { x: new Date('2026-04-02'), y: 23.04468281 }, { x: new Date('2026-04-03'), y: 23.037 }, { x: new Date('2026-04-04'), y: 23.1169 }, { x: new Date('2026-04-05'), y: 23.1624 }, { x: new Date('2026-04-06'), y: 23.1513 }, { x: new Date('2026-04-07'), y: 23.1792 }, { x: new Date('2026-04-08'), y: 23.1858 }, { x: new Date('2026-04-09'), y: 23.1769 }, { x: new Date('2026-04-10'), y: 23.175 }, { x: new Date('2026-04-11'), y: 23.244 }, { x: new Date('2026-04-12'), y: 23.2839 }, { x: new Date('2026-04-13'), y: 23.2686 }, { x: new Date('2026-04-14'), y: 23.3667 }, { x: new Date('2026-04-15'), y: 23.3143 }, { x: new Date('2026-04-16'), y: 23.2808 }, { x: new Date('2026-04-17'), y: 23.2687 }, { x: new Date('2026-04-18'), y: 23.2873 }, { x: new Date('2026-04-19'), y: 23.2231 }, { x: new Date('2026-04-20'), y: 23.2063 }, { x: new Date('2026-04-21'), y: 23.2891 }, { x: new Date('2026-04-22'), y: 23.2675 }, { x: new Date('2026-04-23'), y: 23.3053 }, { x: new Date('2026-04-24'), y: 23.3175 }, { x: new Date('2026-04-25'), y: 23.3342 }, { x: new Date('2026-04-26'), y: 23.3061 }, { x: new Date('2026-04-27'), y: 23.301 }, { x: new Date('2026-04-28'), y: 23.3313 }, { x: new Date('2026-04-29'), y: 23.3309 }, { x: new Date('2026-04-30'), y: 23.3742 }]; 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);