It swings almost 80% every 12 hours.
No, hashrate does not swing 80%. Block solving can swing 80% from one hour to the next. That's call "variance". (At a casino, you might call it "luck").
Sometimes two or three (or more) blocks are solved within ten minutes. Does that mean hashrate tripled? No. It means there was some nice luck. Just as when a block takes 50 minutes, ... did hashrate drop? No. It just took that long for the next block.
That chart apparently shows the estimated hashrate over a twelve hour period. So variance can cause wild swings in that chart. 12 hours is way too short of a period of time to have any expectation of an accurate measure of the hash rate.
Here's a good article where variance is discussed:
Bitcoin Block Time Variance: Theory vs Reality https://blog.lopp.net/bitcoin-block-time-variance/