Can someone explain how it is possible to draw whatever you want on mempool?
Not on mempool, on a website called mempool.space.
If you visit the website's homepage you can see how they represent the transactions in the mempool and in each block with squares of various sizes and colors. Bigger square size indicates a bigger tx size (in bytes) and the colors represent the fee rate. It goes from Dark Green (#557d00) all the way to Dark Pink (#ae005b). If a tx is paying a low fee rate it is greener and if it is paying a higher fee rate it is more red.
You can find the source code of that website on github[1] and the color range I mentioned is from this which I am guessing is the correct part of the code by taking a quick look[2].
Now all it takes is to go through the mempool.space source code, figure out how many rows and columns there are, write a simple script to create and place specific transactions with specific fee rate (all fixed size so fixed square sizes) in your candid block in a way that mempool.space would show a picture you want.
Funny thing is that if the website owner decides to remove this feature or changes how it works (eg. changes number of rows/columns) all this work becomes a complete waste of time and of course waste of blockchain space

That's the problem with using centralized stuff...
[1]
https://github.com/mempool/mempool[2]
https://github.com/mempool/mempool/blob/master/frontend/src/app/app.constants.ts#L1