const fullData = [ { x: new Date('2025-03-03'), y: 156.70 }, { x: new Date('2025-03-04'), y: 156.31 }, { x: new Date('2025-03-05'), y: 159.10 }, { x: new Date('2025-03-06'), y: 160.98 }, { x: new Date('2025-03-07'), y: 159.58 }, { x: new Date('2025-03-08'), y: 160.42 }, { x: new Date('2025-03-10'), y: 160.23 }, { x: new Date('2025-03-11'), y: 159.48 }, { x: new Date('2025-03-12'), y: 161.21 }, { x: new Date('2025-03-13'), y: 161.62 }, { x: new Date('2025-03-14'), y: 160.57 }, { x: new Date('2025-03-15'), y: 161.63 }, { x: new Date('2025-03-16'), y: 161.55 }, { x: new Date('2025-03-17'), y: 161.55 }, { x: new Date('2025-03-18'), y: 161.71 }, { x: new Date('2025-03-19'), y: 163.38 }, { x: new Date('2025-03-20'), y: 162.77 }, { x: new Date('2025-03-21'), y: 161.24 }, { x: new Date('2025-03-22'), y: 161.45 }, { x: new Date('2025-03-23'), y: 161.48 }, { x: new Date('2025-03-24'), y: 161.72 }, { x: new Date('2025-03-25'), y: 162.54 }, { x: new Date('2025-03-26'), y: 162.02 }, { x: new Date('2025-03-27'), y: 161.87 }, { x: new Date('2025-03-28'), y: 162.84 }, { x: new Date('2025-03-29'), y: 162.39 }, { x: new Date('2025-03-30'), y: 162.40 }, { x: new Date('2025-03-31'), y: 161.90 }, { x: new Date('2025-04-01'), y: 161.98 }, { x: new Date('2025-04-02'), y: 161.53 }, { x: new Date('2025-04-03'), y: 161.30 }, { x: new Date('2025-04-04'), y: 161.49 }, { x: new Date('2025-04-05'), y: 160.86 }, { x: new Date('2025-04-06'), y: 160.95 }, { x: new Date('2025-04-07'), y: 159.73 }, { x: new Date('2025-04-08'), y: 161.18 }, { x: new Date('2025-04-09'), y: 160.43 }, { x: new Date('2025-04-10'), y: 160.77 }, { x: new Date('2025-04-11'), y: 161.57 }, { x: new Date('2025-04-12'), y: 162.65 }, { x: new Date('2025-04-13'), y: 162.58 }, { x: new Date('2025-04-14'), y: 162.93 }, { x: new Date('2025-04-15'), y: 162.51 }, { x: new Date('2025-04-16'), y: 161.74 }, { x: new Date('2025-04-17'), y: 161.81 }, { x: new Date('2025-04-18'), y: 161.90 }, { x: new Date('2025-04-19'), y: 161.97 }, { x: new Date('2025-04-20'), y: 161.92 }, { x: new Date('2025-04-21'), y: 162.04 }, { x: new Date('2025-04-22'), y: 162.12 }, { x: new Date('2025-04-23'), y: 161.68 }, { x: new Date('2025-04-24'), y: 162.03 }, { x: new Date('2025-04-25'), y: 162.24 }, { x: new Date('2025-04-26'), y: 163.08 }, { x: new Date('2025-04-27'), y: 163.03 }, { x: new Date('2025-04-28'), y: 163.18 }, { x: new Date('2025-05-02'), y: 163.57 }, { x: new Date('2025-05-03'), y: 163.85 }, { x: new Date('2025-05-05'), y: 163.66 }, { x: new Date('2025-05-06'), y: 163.66 }, { x: new Date('2025-05-07'), y: 162.18 }, { x: new Date('2025-05-08'), y: 162.65 }, { x: new Date('2025-05-09'), y: 163.58 }, { x: new Date('2025-05-10'), y: 163.51 }, { x: new Date('2025-05-11'), y: 163.47 }, { x: new Date('2025-05-12'), y: 163.69 }, { x: new Date('2025-05-13'), y: 164.48 }, { x: new Date('2025-05-14'), y: 164.82 }, { x: new Date('2025-05-15'), y: 164.05 }, { x: new Date('2025-05-16'), y: 163.07 }, { x: new Date('2025-05-17'), y: 162.77 }, { x: new Date('2025-05-19'), y: 162.56 }, { x: new Date('2025-05-20'), y: 162.89 }, { x: new Date('2025-05-21'), y: 162.85 }, { x: new Date('2025-05-22'), y: 162.86 }, { x: new Date('2025-05-24'), y: 161.98 }, { x: new Date('2025-05-26'), y: 162.25 }, { x: new Date('2025-05-27'), y: 162.49 }, { x: new Date('2025-05-29'), y: 163.59 }, { x: new Date('2025-06-02'), y: 163.34 }, { x: new Date('2025-06-06'), y: 164.14 }, { x: new Date('2025-06-10'), y: 165.01 }, { x: new Date('2025-06-11'), y: 165.44 }, { x: new Date('2025-06-12'), y: 165.90 }, { x: new Date('2025-06-14'), y: 166.25 }, { x: new Date('2025-06-15'), y: 166.20 }, { x: new Date('2025-06-16'), y: 166.64 }, { x: new Date('2025-06-17'), y: 167.08 }, { x: new Date('2025-06-18'), y: 167.04 }, { x: new Date('2025-06-20'), y: 167.06 }, { x: new Date('2025-06-21'), y: 167.95 }, { x: new Date('2025-06-22'), y: 167.89 }, { x: new Date('2025-06-23'), y: 168.09 }, { x: new Date('2025-06-24'), y: 169.09 }, { x: new Date('2025-06-25'), y: 168.26 }, { x: new Date('2025-06-26'), y: 169.14 }, { x: new Date('2025-06-27'), y: 169.05 }, { x: new Date('2025-06-28'), y: 169.39 }, { x: new Date('2025-06-29'), y: 169.38 }, { x: new Date('2025-06-30'), y: 169.47 }, { x: new Date('2025-07-01'), y: 169.46 }, { x: new Date('2025-07-02'), y: 169.20 }, { x: new Date('2025-07-04'), y: 170.17 }, { x: new Date('2025-07-05'), y: 170.15 }, { x: new Date('2025-07-06'), y: 170.15 }, { x: new Date('2025-07-07'), y: 170.15 }, { x: new Date('2025-07-08'), y: 171.03 }, { x: new Date('2025-07-09'), y: 171.87 }, { x: new Date('2025-07-10'), y: 171.48 }, { x: new Date('2025-07-11'), y: 171.1469 }, { x: new Date('2025-07-12'), y: 172.09 }, { x: new Date('2025-07-13'), y: 172.0107 }, { x: new Date('2025-07-14'), y: 171.9067 }, { x: new Date('2025-07-15'), y: 172.3102 }, { x: new Date('2025-07-16'), y: 172.6553 }, { x: new Date('2025-07-17'), y: 172.3268 }, { x: new Date('2025-07-19'), y: 172.9163 }, { x: new Date('2025-07-20'), y: 172.9093 }, { x: new Date('2025-07-21'), y: 172.7842 }, { x: new Date('2025-07-22'), y: 172.2685 }, { x: new Date('2025-07-23'), y: 172.2297 }, { x: new Date('2025-07-24'), y: 172.1159 }, { x: new Date('2025-07-25'), y: 172.5962 }, { x: new Date('2025-07-26'), y: 173.2510 }, { x: new Date('2025-07-27'), y: 173.2095 }, { x: new Date('2025-07-29'), y: 172.4638 }, { x: new Date('2025-07-30'), y: 171.5438 }, { x: new Date('2025-07-31'), y: 170.7887 }, { x: new Date('2025-08-01'), y: 171.8862 }, { x: new Date('2025-08-02'), y: 171.0998 }, { x: new Date('2025-08-03'), y: 171.1627 }, { x: new Date('2025-08-04'), y: 170.7081 }, { x: new Date('2025-08-05'), y: 170.2686 }, { x: new Date('2025-08-07'), y: 171.4447 }, { x: new Date('2025-08-08'), y: 171.5441 }, { x: new Date('2025-08-09'), y: 171.9824 }, { x: new Date('2025-08-10'), y: 171.9590 }, { x: new Date('2025-08-11'), y: 171.9857 }, { x: new Date('2025-08-12'), y: 171.9766 }, { x: new Date('2025-08-13'), y: 172.4772 }, { x: new Date('2025-08-14'), y: 172.4418 }, { x: new Date('2025-08-15'), y: 171.8854 }, { x: new Date('2025-08-16'), y: 172.0596 }, { x: new Date('2025-08-18'), y: 172.3096 }, { x: new Date('2025-08-19'), y: 172.4479 }, { x: new Date('2025-08-20'), y: 172.1708 }, { x: new Date('2025-08-21'), y: 171.6891 }, { x: new Date('2025-08-22'), y: 172.1313 }, { x: new Date('2025-08-23'), y: 172.1958 }, { x: new Date('2025-08-24'), y: 172.2096 }, { x: new Date('2025-08-25'), y: 172.3436 }, { x: new Date('2025-08-26'), y: 171.9876 }, { x: new Date('2025-08-27'), y: 171.6566 }, { x: new Date('2025-08-28'), y: 171.5274 }, { x: new Date('2025-08-29'), y: 171.5475 }, { x: new Date('2025-08-30'), y: 171.7856 }, { x: new Date('2025-08-31'), y: 171.7268 }, { x: new Date('2025-09-01'), y: 171.9508 }, { x: new Date('2025-09-02'), y: 172.2978 }, { x: new Date('2025-09-03'), y: 172.7924 }, { x: new Date('2025-09-04'), y: 172.7811 }, { x: new Date('2025-09-05'), y: 172.931 }, { x: new Date('2025-09-06'), y: 172.8263 }, { x: new Date('2025-09-07'), y: 172.8543 }, { x: new Date('2025-09-08'), y: 173.587 }, { x: new Date('2025-09-09'), y: 173.4247 }, { x: new Date('2025-09-10'), y: 172.5982 }, { x: new Date('2025-09-11'), y: 172.5271 }, { x: new Date('2025-09-12'), y: 172.7663 }, { x: new Date('2025-09-13'), y: 173.1868 }, { x: new Date('2025-09-14'), y: 173.1823 }, { x: new Date('2025-09-15'), y: 173.2293 }, { x: new Date('2025-09-16'), y: 173.339 }, { x: new Date('2025-09-17'), y: 173.6831 }, { x: new Date('2025-09-18'), y: 173.5708 }, { x: new Date('2025-09-19'), y: 174.1276 }, { x: new Date('2025-09-20'), y: 173.8876 }, { x: new Date('2025-09-21'), y: 173.9273 }, { x: new Date('2025-09-22'), y: 173.8207 }, { x: new Date('2025-09-23'), y: 174.2108 }, { x: new Date('2025-09-24'), y: 174.3414 }, { x: new Date('2025-09-25'), y: 174.5484 }, { x: new Date('2025-09-26'), y: 174.7016 }, { x: new Date('2025-09-27'), y: 174.8406 }, { x: new Date('2025-09-28'), y: 174.805 }, { x: new Date('2025-09-29'), y: 174.8802 }, { x: new Date('2025-09-30'), y: 174.3039 }, { x: new Date('2025-10-01'), y: 173.6772 }, { x: new Date('2025-10-02'), y: 172.6129 }, { x: new Date('2025-10-03'), y: 172.5083 }, { x: new Date('2025-10-04'), y: 173.0645 }, { x: new Date('2025-10-05'), y: 173.0445 }, { x: new Date('2025-10-06'), y: 174.5704 }, { x: new Date('2025-10-06'), y: 174.5704 }, { x: new Date('2025-10-07'), y: 175.6741 }, { x: new Date('2025-10-08'), y: 176.5721 }, { x: new Date('2025-10-09'), y: 177.3377 }, { x: new Date('2025-10-10'), y: 177.1156 }, { x: new Date('2025-10-11'), y: 176.1612 }, { x: new Date('2025-10-12'), y: 176.2103 }, { x: new Date('2025-10-13'), y: 176.3307 }, { x: new Date('2025-10-14'), y: 176.1826 }, { x: new Date('2025-10-15'), y: 175.997 }, { x: new Date('2025-10-16'), y: 175.8728 }, { x: new Date('2025-10-17'), y: 175.7759 }, { x: new Date('2025-10-18'), y: 175.5642 }, { x: new Date('2025-10-20'), y: 175.5577 }, { x: new Date('2025-10-21'), y: 175.7716 }, { x: new Date('2025-10-22'), y: 175.9515 }, { x: new Date('2025-10-23'), y: 176.2139 }, { x: new Date('2025-10-24'), y: 177.0798 }, { x: new Date('2025-10-25'), y: 177.5898 }, { x: new Date('2025-10-26'), y: 177.5898 }, { x: new Date('2025-10-27'), y: 177.6315 }, { x: new Date('2025-10-28'), y: 177.9327 }, { x: new Date('2025-10-29'), y: 177.9458 }, { x: new Date('2025-10-30'), y: 177.3037 }, { x: new Date('2025-10-31'), y: 177.186 }, { x: new Date('2025-11-01'), y: 177.89806133 }, { x: new Date('2025-11-02'), y: 177.9011 }, { x: new Date('2025-11-03'), y: 177.795 }, { x: new Date('2025-11-04'), y: 177.625 }, { x: new Date('2025-11-05'), y: 176.481 }, { x: new Date('2025-11-06'), y: 176.8829 }, { x: new Date('2025-11-07'), y: 176.84083041 }, { x: new Date('2025-11-08'), y: 176.8029 }, { x: new Date('2025-11-09'), y: 177.2796 }, { x: new Date('2025-11-10'), y: 177.2469 }, { x: new Date('2025-11-11'), y: 177.4689 }, { x: new Date('2025-11-12'), y: 178.0832 }, { x: new Date('2025-11-13'), y: 178.5005 }, { x: new Date('2025-11-14'), y: 179.2366 }, { x: new Date('2025-11-15'), y: 179.7179 }, { x: new Date('2025-11-16'), y: 179.5838 }, { x: new Date('2025-11-17'), y: 179.5838 }, { x: new Date('2025-11-18'), y: 179.5581 }, { x: new Date('2025-11-19'), y: 179.7858 }, { x: new Date('2025-11-20'), y: 180.0581 }, { x: new Date('2025-11-21'), y: 180.9378 }, { x: new Date('2025-11-22'), y: 181.5063 }, { x: new Date('2025-11-23'), y: 180.5788 }, { x: new Date('2025-11-24'), y: 180.5788 }, { x: new Date('2025-11-25'), y: 180.8229 }, { x: new Date('2025-11-26'), y: 180.8229 }, { x: new Date('2025-11-27'), y: 180.5522 }, { x: new Date('2025-11-28'), y: 181.2304 }, { x: new Date('2025-11-29'), y: 181.2224 }, { x: new Date('2025-11-30'), y: 181.0261 }, { x: new Date('2025-12-01'), y: 180.9952 }, { x: new Date('2025-12-02'), y: 180.4835 }, { x: new Date('2025-12-03'), y: 181.0973 }, { x: new Date('2025-12-04'), y: 181.0852 }, { x: new Date('2025-12-05'), y: 180.6348 }, { x: new Date('2025-12-06'), y: 180.776 }, { x: new Date('2025-12-07'), y: 180.7857 }, { x: new Date('2025-12-08'), y: 180.7761 }, { x: new Date('2025-12-09'), y: 181.3122 }, { x: new Date('2025-12-10'), y: 182.1928 }, { x: new Date('2025-12-11'), y: 182.2667 }, { x: new Date('2025-12-12'), y: 182.456 }, { x: new Date('2025-12-13'), y: 182.9238 }, { x: new Date('2025-12-14'), y: 182.9033 }, { x: new Date('2025-12-15'), y: 182.9014 }, { x: new Date('2025-12-16'), y: 182.367 }, { x: new Date('2025-12-17'), y: 181.979 }, { x: new Date('2025-12-18'), y: 182.5354 }, { x: new Date('2025-12-19'), y: 182.5078 }, { x: new Date('2025-12-20'), y: 184.3347 }, { x: new Date('2025-12-21'), y: 184.2168 }, { x: new Date('2025-12-22'), y: 184.5443 }, { x: new Date('2025-12-23'), y: 184.5743 }, { x: new Date('2025-12-24'), y: 184.1438 }, { x: new Date('2025-12-25'), y: 183.7616 }, { x: new Date('2025-12-26'), y: 183.7194 }, { x: new Date('2025-12-27'), y: 184.2571 }, { x: new Date('2025-12-29'), y: 184.2558 }, { x: new Date('2025-12-30'), y: 184.2455 }, { x: new Date('2025-12-31'), y: 183.797 }, { x: new Date('2026-01-01'), y: 183.7321 }, { x: new Date('2026-01-02'), y: 184.0166 }, { x: new Date('2026-01-03'), y: 184.0875 }, { x: new Date('2026-01-04'), y: 183.9002 }, { x: new Date('2026-01-05'), y: 183.9134 }, { x: new Date('2026-01-06'), y: 183.7426 }, { x: new Date('2026-01-07'), y: 183.3314 }, { x: new Date('2026-01-08'), y: 183.1906 }, { x: new Date('2026-01-09'), y: 183.0393 }, { x: new Date('2026-01-10'), y: 182.9203 }, { x: new Date('2026-01-11'), y: 183.6425 }, { x: new Date('2026-01-12'), y: 183.6611 }, { x: new Date('2026-01-13'), y: 183.8187 }, { x: new Date('2026-01-14'), y: 184.4091 }, { x: new Date('2026-01-15'), y: 185.2617 }, { x: new Date('2026-01-16'), y: 184.6375 }, { x: new Date('2026-01-17'), y: 184.199 }, { x: new Date('2026-01-18'), y: 183.5201 }, { x: new Date('2026-01-19'), y: 183.5624 }, { x: new Date('2026-01-20'), y: 183.1676 }, { x: new Date('2026-01-21'), y: 183.9149 }, { x: new Date('2026-01-22'), y: 185.2102 }, { x: new Date('2026-01-23'), y: 185.0729 }, { x: new Date('2026-01-24'), y: 185.9555 }, { x: new Date('2026-01-25'), y: 184.8048 }, { x: new Date('2026-01-26'), y: 185.0948 }, { x: new Date('2026-01-27'), y: 184.1819 }, { x: new Date('2026-01-28'), y: 182.9699 }, { x: new Date('2026-01-29'), y: 183.16 }, { x: new Date('2026-01-30'), y: 183.2211 }, { x: new Date('2026-01-31'), y: 183.1589 }, { x: new Date('2026-02-01'), y: 183.4854 }, { x: new Date('2026-02-02'), y: 183.4891 }, { x: new Date('2026-02-03'), y: 183.8135 }, { x: new Date('2026-02-04'), y: 183.5293 }, { x: new Date('2026-02-05'), y: 183.9908 }, { x: new Date('2026-02-06'), y: 185.0238 }, { x: new Date('2026-02-07'), y: 184.988 }, { x: new Date('2026-02-08'), y: 185.5049 }, { x: new Date('2026-02-09'), y: 185.4612 }, { x: new Date('2026-02-10'), y: 185.8363 }, { x: new Date('2026-02-11'), y: 185.7336 }, { x: new Date('2026-02-12'), y: 183.9844 }, { x: new Date('2026-02-13'), y: 182.1984 }, { x: new Date('2026-02-14'), y: 181.5795 }, { x: new Date('2026-02-15'), y: 181.4729 }, { x: new Date('2026-02-16'), y: 181.4992 }, { x: new Date('2026-02-17'), y: 181.3413 }, { x: new Date('2026-02-18'), y: 181.9278 }, { x: new Date('2026-02-19'), y: 181.518 }, { x: new Date('2026-02-20'), y: 182.2949 }, { x: new Date('2026-02-21'), y: 182.4294 }, { x: new Date('2026-02-22'), y: 182.674 }, { x: new Date('2026-02-23'), y: 182.6786 }, { x: new Date('2026-02-24'), y: 182.6415 }, { x: new Date('2026-02-25'), y: 182.3652 }, { x: new Date('2026-02-26'), y: 183.4504 }, { x: new Date('2026-02-27'), y: 184.4808 }, { x: new Date('2026-02-28'), y: 184.1531 }, { x: new Date('2026-03-01'), y: 184.3183 }, { x: new Date('2026-03-02'), y: 184.2908 }, { x: new Date('2026-03-03'), y: 183.9938 }, { x: new Date('2026-03-04'), y: 184.0914 }, { x: new Date('2026-03-05'), y: 183.1673 }, { x: new Date('2026-03-06'), y: 182.7461 }, { x: new Date('2026-03-07'), y: 182.8069 }, { x: new Date('2026-03-08'), y: 182.9959 }, { x: new Date('2026-03-09'), y: 182.9324 }, { x: new Date('2026-03-10'), y: 182.7547 }, { x: new Date('2026-03-11'), y: 183.2951 }, { x: new Date('2026-03-12'), y: 183.5737 }, { x: new Date('2026-03-13'), y: 183.7343 }]; 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 filtered = fullData.filter(item => item.x >= start && item.x <= latestDate); chart.updateSeries([{ name: '', data: filtered }]); } 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);