In short: empty blocks propagate around the network more quickly than blocks that aren't empty.
If two mining nodes find the proof-of-work solution to the blocks they're mining at the same time, only one of those blocks will ultimately be accepted by the network. The other will become an uncle.
The block that is able to propagate around the network more quickly will be the one to be accepted by the community and hence the one to get the block reward.
There's clearly some game theory going on here. Under what conditions is it better to mine empty blocks and forego the transaction fees? I'm not a miner, but probably when the network is under most stress, and the blocks being submitted by other miners are fullest. That way your empty block is going to propagate much more quickly relative to the others. But I'm sure there's a balance here before you start losing out on transaction fees.
It'd be interesting to compare your graph against another showing how full the blocks are for each block number, and see if they correlate.