A brutal fix …
canvas->Divide(2, 2, 1E-11, 1E-11); // BOTH, “xmargin” and “ymargin”, MUST BE > 0
(I assume Olivier will comment on this issue in a more detailed way -> especially, why pads are not equal in size when any one of “[x|y]margin” is 0. Actually, each pad has a different size in these cases. I can understand that there’s some free space on top for the canvas’es title, but what’s the purpose of the free space on the right side?)