Your problem is probably that you are not setting the margins and / or the spacing in the grid layout to 0. All layouts automatically insert some extra space around the widgets inside them. In most cases, this leads to a pleasing layout. In this case, it leads to misalignment of the scales and plot. See QLayout::spacing(), QLayout::setContentsMargin(), QGridLayout::setHorizontalSpacing(), and QGridLayout::setVerticalSpacing().
You will have to play around with it. If you want to have your 4 plot instances separated from each other (i.e. non-zero spacing between some, but not all widgets in the grid), you might have to embed layouts within layouts (for example, three vertical layouts inside a horizontal layout) instead of a single grid layout.
Bookmarks