But in real time, the network hashrate at this moment are 30-34MHz, but the newest block values only 5-6 XMG instead of 47
The block rewards are actually calculated using the average of the previous 2000 block difficulties... so the plotter is probably correct, but it operates as if your inputs are the average difficulty on the network, not the instantaneous difficulty.
So the average hashrate for the last 2000 blocks has apparently been ~46 MH/s.
It's possible to address this issue by keeping a log of block difficulties and performing a rolling average of the most recent 2000 blocks... but that's a lot of work.
It's probably easier to check the most recent block's reward and to use that as a guideline for where the hashrate is.