Chartjs-ChartJS Zoom Granularity

0๐Ÿ‘

โœ…

I solved this with what I consider a hack:

  1. Hook into the onZoomStart callback. (docs)
  2. Read the values (dates in millis) of the x-axis Ticks (docs)
  3. Check if the duration between any two consecutive dates is less than 1day.

Notes:

  • If (3) is true then the chart is already at the finest desired granularity
  • If event.deltaY > 0 the event is a zoom-out, else zoom-in
    • I only wanted to limit zoom-in, so if the event is a zoom-out I immediately return true

Leave a comment