const fullData = [ { x: new Date('2025-04-20'), y: 84.47 }, { x: new Date('2025-04-21'), y: 84.36 }, { x: new Date('2025-04-22'), y: 84.50 }, { x: new Date('2025-04-23'), y: 84.59 }, { x: new Date('2025-04-24'), y: 85.09 }, { x: new Date('2025-04-25'), y: 85.40 }, { x: new Date('2025-04-26'), y: 85.59 }, { x: new Date('2025-04-27'), y: 85.57 }, { x: new Date('2025-04-28'), y: 85.57 }, { x: new Date('2025-05-02'), y: 85.67 }, { x: new Date('2025-05-03'), y: 86.07 }, { x: new Date('2025-05-05'), y: 86.07 }, { x: new Date('2025-05-06'), y: 86.07 }, { x: new Date('2025-05-07'), y: 85.77 }, { x: new Date('2025-05-08'), y: 85.63 }, { x: new Date('2025-05-09'), y: 85.99 }, { x: new Date('2025-05-10'), y: 85.84 }, { x: new Date('2025-05-11'), y: 85.82 }, { x: new Date('2025-05-12'), y: 86.08 }, { x: new Date('2025-05-13'), y: 86.90 }, { x: new Date('2025-05-14'), y: 87.47 }, { x: new Date('2025-05-15'), y: 86.64 }, { x: new Date('2025-05-16'), y: 85.61 }, { x: new Date('2025-05-17'), y: 85.75 }, { x: new Date('2025-05-19'), y: 85.62 }, { x: new Date('2025-05-20'), y: 85.86 }, { x: new Date('2025-05-21'), y: 85.52 }, { x: new Date('2025-05-22'), y: 85.40 }, { x: new Date('2025-05-24'), y: 85.19 }, { x: new Date('2025-05-26'), y: 85.34 }, { x: new Date('2025-05-27'), y: 85.65 }, { x: new Date('2025-05-29'), y: 86.33 }, { x: new Date('2025-06-02'), y: 85.89 }, { x: new Date('2025-06-06'), y: 86.73 }, { x: new Date('2025-06-10'), y: 87.37 }, { x: new Date('2025-06-11'), y: 87.63 }, { x: new Date('2025-06-12'), y: 87.27 }, { x: new Date('2025-06-14'), y: 86.65 }, { x: new Date('2025-06-15'), y: 86.60 }, { x: new Date('2025-06-16'), y: 86.86 }, { x: new Date('2025-06-17'), y: 87.45 }, { x: new Date('2025-06-18'), y: 87.61 }, { x: new Date('2025-06-20'), y: 87.06 }, { x: new Date('2025-06-21'), y: 87.16 }, { x: new Date('2025-06-22'), y: 87.16 }, { x: new Date('2025-06-23'), y: 87.17 }, { x: new Date('2025-06-24'), y: 87.24 }, { x: new Date('2025-06-25'), y: 87.18 }, { x: new Date('2025-06-26'), y: 87.69 }, { x: new Date('2025-06-27'), y: 87.54 }, { x: new Date('2025-06-28'), y: 87.63 }, { x: new Date('2025-06-29'), y: 87.63 }, { x: new Date('2025-06-30'), y: 87.63 }, { x: new Date('2025-07-01'), y: 87.60 }, { x: new Date('2025-07-02'), y: 87.44 }, { x: new Date('2025-07-04'), y: 87.75 }, { x: new Date('2025-07-05'), y: 87.53 }, { x: new Date('2025-07-06'), y: 87.54 }, { x: new Date('2025-07-07'), y: 87.46 }, { x: new Date('2025-07-08'), y: 87.53 }, { x: new Date('2025-07-09'), y: 88.02 }, { x: new Date('2025-07-10'), y: 87.76 }, { x: new Date('2025-07-11'), y: 88.1380 }, { x: new Date('2025-07-12'), y: 88.46 }, { x: new Date('2025-07-13'), y: 88.4266 }, { x: new Date('2025-07-14'), y: 88.4572 }, { x: new Date('2025-07-15'), y: 88.2514 }, { x: new Date('2025-07-16'), y: 88.5673 }, { x: new Date('2025-07-17'), y: 88.1070 }, { x: new Date('2025-07-19'), y: 88.7007 }, { x: new Date('2025-07-20'), y: 88.6749 }, { x: new Date('2025-07-21'), y: 88.4162 }, { x: new Date('2025-07-22'), y: 88.0496 }, { x: new Date('2025-07-23'), y: 87.9351 }, { x: new Date('2025-07-24'), y: 88.4854 }, { x: new Date('2025-07-25'), y: 88.7015 }, { x: new Date('2025-07-26'), y: 88.7993 }, { x: new Date('2025-07-27'), y: 88.7921 }, { x: new Date('2025-07-29'), y: 88.6771 }, { x: new Date('2025-07-30'), y: 88.4390 }, { x: new Date('2025-07-31'), y: 88.1709 }, { x: new Date('2025-08-01'), y: 88.6906 }, { x: new Date('2025-08-02'), y: 87.4474 }, { x: new Date('2025-08-03'), y: 87.4737 }, { x: new Date('2025-08-04'), y: 87.2092 }, { x: new Date('2025-08-05'), y: 87.0024 }, { x: new Date('2025-08-07'), y: 87.3860 }, { x: new Date('2025-08-08'), y: 87.6664 }, { x: new Date('2025-08-09'), y: 87.9632 }, { x: new Date('2025-08-10'), y: 87.9583 }, { x: new Date('2025-08-11'), y: 87.8838 }, { x: new Date('2025-08-12'), y: 87.8923 }, { x: new Date('2025-08-13'), y: 87.9719 }, { x: new Date('2025-08-14'), y: 88.0611 }, { x: new Date('2025-08-15'), y: 87.3742 }, { x: new Date('2025-08-16'), y: 87.1768 }, { x: new Date('2025-08-18'), y: 87.2882 }, { x: new Date('2025-08-19'), y: 87.5772 }, { x: new Date('2025-08-20'), y: 87.2046 }, { x: new Date('2025-08-21'), y: 85.8593 }, { x: new Date('2025-08-22'), y: 86.238 }, { x: new Date('2025-08-23'), y: 86.2325 }, { x: new Date('2025-08-24'), y: 86.2555 }, { x: new Date('2025-08-25'), y: 86.3504 }, { x: new Date('2025-08-26'), y: 86.4837 }, { x: new Date('2025-08-27'), y: 86.3399 }, { x: new Date('2025-08-28'), y: 86.3159 }, { x: new Date('2025-08-29'), y: 86.3808 }, { x: new Date('2025-08-30'), y: 86.6381 }, { x: new Date('2025-08-31'), y: 86.6248 }, { x: new Date('2025-09-01'), y: 86.701 }, { x: new Date('2025-09-02'), y: 86.8627 }, { x: new Date('2025-09-03'), y: 87.0137 }, { x: new Date('2025-09-04'), y: 87.0396 }, { x: new Date('2025-09-05'), y: 86.8248 }, { x: new Date('2025-09-06'), y: 86.8788 }, { x: new Date('2025-09-07'), y: 86.8957 }, { x: new Date('2025-09-08'), y: 87.2421 }, { x: new Date('2025-09-09'), y: 87.6099 }, { x: new Date('2025-09-10'), y: 87.3183 }, { x: new Date('2025-09-11'), y: 87.6274 }, { x: new Date('2025-09-12'), y: 87.837 }, { x: new Date('2025-09-13'), y: 87.9124 }, { x: new Date('2025-09-14'), y: 87.9229 }, { x: new Date('2025-09-15'), y: 87.949 }, { x: new Date('2025-09-16'), y: 87.9153 }, { x: new Date('2025-09-17'), y: 87.7084 }, { x: new Date('2025-09-18'), y: 87.3886 }, { x: new Date('2025-09-19'), y: 87.0845 }, { x: new Date('2025-09-20'), y: 86.7288 }, { x: new Date('2025-09-21'), y: 86.76 }, { x: new Date('2025-09-22'), y: 86.6647 }, { x: new Date('2025-09-23'), y: 86.6713 }, { x: new Date('2025-09-24'), y: 86.5256 }, { x: new Date('2025-09-25'), y: 86.5516 }, { x: new Date('2025-09-26'), y: 86.4252 }, { x: new Date('2025-09-27'), y: 86.3054 }, { x: new Date('2025-09-28'), y: 86.3107 }, { x: new Date('2025-09-29'), y: 86.296 }, { x: new Date('2025-09-30'), y: 85.9253 }, { x: new Date('2025-10-01'), y: 85.7715 }, { x: new Date('2025-10-02'), y: 85.5499 }, { x: new Date('2025-10-03'), y: 85.6037 }, { x: new Date('2025-10-04'), y: 85.973 }, { x: new Date('2025-10-05'), y: 85.9595 }, { x: new Date('2025-10-06'), y: 86.6404 }, { x: new Date('2025-10-06'), y: 86.6404 }, { x: new Date('2025-10-07'), y: 87.6492 }, { x: new Date('2025-10-08'), y: 87.8666 }, { x: new Date('2025-10-09'), y: 88.2149 }, { x: new Date('2025-10-10'), y: 88.0654 }, { x: new Date('2025-10-11'), y: 87.1207 }, { x: new Date('2025-10-12'), y: 87.2887 }, { x: new Date('2025-10-13'), y: 87.1576 }, { x: new Date('2025-10-14'), y: 87.1629 }, { x: new Date('2025-10-15'), y: 86.692 }, { x: new Date('2025-10-16'), y: 86.4827 }, { x: new Date('2025-10-17'), y: 86.3745 }, { x: new Date('2025-10-18'), y: 86.1534 }, { x: new Date('2025-10-20'), y: 86.1157 }, { x: new Date('2025-10-21'), y: 86.3631 }, { x: new Date('2025-10-22'), y: 86.9475 }, { x: new Date('2025-10-23'), y: 87.1798 }, { x: new Date('2025-10-24'), y: 87.7663 }, { x: new Date('2025-10-25'), y: 87.8525 }, { x: new Date('2025-10-26'), y: 87.8525 }, { x: new Date('2025-10-27'), y: 87.8477 }, { x: new Date('2025-10-28'), y: 88.1004 }, { x: new Date('2025-10-29'), y: 88.1482 }, { x: new Date('2025-10-30'), y: 87.8947 }, { x: new Date('2025-10-31'), y: 88.0219 }, { x: new Date('2025-11-01'), y: 88.22569523 }, { x: new Date('2025-11-02'), y: 88.2287 }, { x: new Date('2025-11-03'), y: 88.2546 }, { x: new Date('2025-11-04'), y: 88.0221 }, { x: new Date('2025-11-05'), y: 86.8352 }, { x: new Date('2025-11-06'), y: 87.1128 }, { x: new Date('2025-11-07'), y: 86.68798618 }, { x: new Date('2025-11-08'), y: 86.4171 }, { x: new Date('2025-11-09'), y: 86.2123 }, { x: new Date('2025-11-10'), y: 86.2056 }, { x: new Date('2025-11-11'), y: 86.3892 }, { x: new Date('2025-11-12'), y: 86.9411 }, { x: new Date('2025-11-13'), y: 87.1473 }, { x: new Date('2025-11-14'), y: 87.6079 }, { x: new Date('2025-11-15'), y: 87.4835 }, { x: new Date('2025-11-16'), y: 87.7116 }, { x: new Date('2025-11-17'), y: 87.7116 }, { x: new Date('2025-11-18'), y: 87.729 }, { x: new Date('2025-11-19'), y: 87.7876 }, { x: new Date('2025-11-20'), y: 88.0129 }, { x: new Date('2025-11-21'), y: 87.9414 }, { x: new Date('2025-11-22'), y: 88.1217 }, { x: new Date('2025-11-23'), y: 87.8865 }, { x: new Date('2025-11-24'), y: 87.8865 }, { x: new Date('2025-11-25'), y: 88.0513 }, { x: new Date('2025-11-26'), y: 88.0513 }, { x: new Date('2025-11-27'), y: 87.7142 }, { x: new Date('2025-11-28'), y: 89.0189 }, { x: new Date('2025-11-29'), y: 89.4502 }, { x: new Date('2025-11-30'), y: 89.413 }, { x: new Date('2025-12-01'), y: 89.4428 }, { x: new Date('2025-12-02'), y: 89.0512 }, { x: new Date('2025-12-03'), y: 89.3596 }, { x: new Date('2025-12-04'), y: 89.473 }, { x: new Date('2025-12-05'), y: 89.3532 }, { x: new Date('2025-12-06'), y: 89.6479 }, { x: new Date('2025-12-07'), y: 89.6207 }, { x: new Date('2025-12-08'), y: 89.7166 }, { x: new Date('2025-12-09'), y: 89.996 }, { x: new Date('2025-12-10'), y: 90.6023 }, { x: new Date('2025-12-11'), y: 90.5393 }, { x: new Date('2025-12-12'), y: 90.38 }, { x: new Date('2025-12-13'), y: 90.4702 }, { x: new Date('2025-12-14'), y: 90.4743 }, { x: new Date('2025-12-15'), y: 90.4497 }, { x: new Date('2025-12-16'), y: 89.7967 }, { x: new Date('2025-12-17'), y: 89.5526 }, { x: new Date('2025-12-18'), y: 89.7925 }, { x: new Date('2025-12-19'), y: 89.8688 }, { x: new Date('2025-12-20'), y: 90.5906 }, { x: new Date('2025-12-21'), y: 90.3747 }, { x: new Date('2025-12-22'), y: 90.6834 }, { x: new Date('2025-12-23'), y: 90.9693 }, { x: new Date('2025-12-24'), y: 91.1746 }, { x: new Date('2025-12-25'), y: 91.0171 }, { x: new Date('2025-12-26'), y: 90.999 }, { x: new Date('2025-12-27'), y: 91.1811 }, { x: new Date('2025-12-29'), y: 91.1427 }, { x: new Date('2025-12-30'), y: 91.1508 }, { x: new Date('2025-12-31'), y: 90.6546 }, { x: new Date('2026-01-01'), y: 90.5807 }, { x: new Date('2026-01-02'), y: 90.2928 }, { x: new Date('2026-01-03'), y: 90.2228 }, { x: new Date('2026-01-04'), y: 90.4431 }, { x: new Date('2026-01-05'), y: 90.4303 }, { x: new Date('2026-01-06'), y: 90.3941 }, { x: new Date('2026-01-07'), y: 90.4342 }, { x: new Date('2026-01-08'), y: 90.5833 }, { x: new Date('2026-01-09'), y: 90.5118 }, { x: new Date('2026-01-10'), y: 90.1785 }, { x: new Date('2026-01-11'), y: 90.4228 }, { x: new Date('2026-01-12'), y: 90.3913 }, { x: new Date('2026-01-13'), y: 90.5428 }, { x: new Date('2026-01-14'), y: 91.1096 }, { x: new Date('2026-01-15'), y: 91.4321 }, { x: new Date('2026-01-16'), y: 91.0142 }, { x: new Date('2026-01-17'), y: 91.0691 }, { x: new Date('2026-01-18'), y: 90.966 }, { x: new Date('2026-01-19'), y: 90.9795 }, { x: new Date('2026-01-20'), y: 90.8034 }, { x: new Date('2026-01-21'), y: 91.5327 }, { x: new Date('2026-01-22'), y: 92.1806 }, { x: new Date('2026-01-23'), y: 92.4753 }, { x: new Date('2026-01-24'), y: 93.4987 }, { x: new Date('2026-01-25'), y: 93.0125 }, { x: new Date('2026-01-26'), y: 93.1318 }, { x: new Date('2026-01-27'), y: 92.5094 }, { x: new Date('2026-01-28'), y: 92.0467 }, { x: new Date('2026-01-29'), y: 91.9502 }, { x: new Date('2026-01-30'), y: 92.4797 }, { x: new Date('2026-01-31'), y: 92.9866 }, { x: new Date('2026-02-01'), y: 93.2686 }, { x: new Date('2026-02-02'), y: 93.2606 }, { x: new Date('2026-02-03'), y: 93.3145 }, { x: new Date('2026-02-04'), y: 93.3521 }, { x: new Date('2026-02-05'), y: 94.1138 }, { x: new Date('2026-02-06'), y: 94.1705 }, { x: new Date('2026-02-07'), y: 93.7361 }, { x: new Date('2026-02-08'), y: 94.3538 }, { x: new Date('2026-02-09'), y: 94.2696 }, { x: new Date('2026-02-10'), y: 94.6596 }, { x: new Date('2026-02-11'), y: 94.3721 }, { x: new Date('2026-02-12'), y: 93.4503 }, { x: new Date('2026-02-13'), y: 92.787 }, { x: new Date('2026-02-14'), y: 92.3314 }, { x: new Date('2026-02-15'), y: 92.3395 }, { x: new Date('2026-02-16'), y: 92.3773 }, { x: new Date('2026-02-17'), y: 92.2314 }, { x: new Date('2026-02-18'), y: 92.6655 }, { x: new Date('2026-02-19'), y: 92.5656 }, { x: new Date('2026-02-20'), y: 92.3623 }, { x: new Date('2026-02-21'), y: 92.518 }, { x: new Date('2026-02-22'), y: 92.5864 }, { x: new Date('2026-02-23'), y: 92.578 }, { x: new Date('2026-02-24'), y: 92.581 }, { x: new Date('2026-02-25'), y: 92.2202 }, { x: new Date('2026-02-26'), y: 92.9189 }, { x: new Date('2026-02-27'), y: 93.6433 }, { x: new Date('2026-02-28'), y: 93.3242 }, { x: new Date('2026-03-01'), y: 93.491 }, { x: new Date('2026-03-02'), y: 93.4667 }, { x: new Date('2026-03-03'), y: 93.3073 }, { x: new Date('2026-03-04'), y: 93.4922 }, { x: new Date('2026-03-05'), y: 92.9011 }, { x: new Date('2026-03-06'), y: 93.133 }, { x: new Date('2026-03-07'), y: 92.9672 }, { x: new Date('2026-03-08'), y: 92.9883 }, { x: new Date('2026-03-09'), y: 92.9566 }, { x: new Date('2026-03-10'), y: 92.6769 }, { x: new Date('2026-03-11'), y: 93.6054 }, { x: new Date('2026-03-12'), y: 93.6777 }, { x: new Date('2026-03-13'), y: 93.8358 }, { x: new Date('2026-03-14'), y: 93.4076 }, { x: new Date('2026-03-15'), y: 92.5277 }, { x: new Date('2026-03-16'), y: 92.6722 }, { x: new Date('2026-03-17'), y: 92.5013 }, { x: new Date('2026-03-18'), y: 93.0765 }, { x: new Date('2026-03-19'), y: 93.0776 }, { x: new Date('2026-03-20'), y: 92.524 }, { x: new Date('2026-03-21'), y: 92.8428 }, { x: new Date('2026-03-22'), y: 92.8785 }, { x: new Date('2026-03-23'), y: 92.8889 }, { x: new Date('2026-03-24'), y: 92.8713 }, { x: new Date('2026-03-25'), y: 92.7772 }, { x: new Date('2026-03-26'), y: 92.5287 }, { x: new Date('2026-03-27'), y: 92.5224 }, { x: new Date('2026-03-28'), y: 92.1424 }, { x: new Date('2026-03-29'), y: 92.0831 }, { x: new Date('2026-03-30'), y: 92.0994 }, { x: new Date('2026-03-31'), y: 91.9078 }, { x: new Date('2026-04-01'), y: 91.294 }, { x: new Date('2026-04-02'), y: 91.43651009 }, { x: new Date('2026-04-03'), y: 91.3398 }, { x: new Date('2026-04-04'), y: 91.1931 }, { x: new Date('2026-04-05'), y: 90.9061 }, { x: new Date('2026-04-06'), y: 90.9796 }, { x: new Date('2026-04-07'), y: 90.8898 }, { x: new Date('2026-04-08'), y: 91.2346 }, { x: new Date('2026-04-09'), y: 91.4002 }, { x: new Date('2026-04-10'), y: 92.3698 }, { x: new Date('2026-04-11'), y: 93.0026 }, { x: new Date('2026-04-12'), y: 93.0378 }, { x: new Date('2026-04-13'), y: 93.0339 }, { x: new Date('2026-04-14'), y: 92.7421 }, { x: new Date('2026-04-15'), y: 93.3371 }, { x: new Date('2026-04-16'), y: 93.7709 }, { x: new Date('2026-04-17'), y: 93.8824 }, { x: new Date('2026-04-18'), y: 93.7439 }, { x: new Date('2026-04-19'), y: 93.4699 }, { x: new Date('2026-04-20'), y: 93.5295 }, { x: new Date('2026-04-21'), y: 93.3567 }, { x: new Date('2026-04-22'), y: 93.6034 }, { x: new Date('2026-04-23'), y: 94.0102 }, { x: new Date('2026-04-24'), y: 94.1556 }, { x: new Date('2026-04-25'), y: 93.677 }, { x: new Date('2026-04-26'), y: 93.6639 }, { x: new Date('2026-04-27'), y: 93.6666 }, { x: new Date('2026-04-28'), y: 93.6685 }, { x: new Date('2026-04-29'), y: 94.1939 }]; 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);