IMO calculating size on widgets, and adjusting the graphs my not be a good solution, as it will it is still restricted by the screen size, you should use QScrollArea.

I remember you had a problem using QScrollArea earlier, is it with same application? You need to add objects in this hierarchy

graph1 -> h_layout1 -> widget1 -> scroll area1 -> h_layout_main -> main widget
graph2 -> h_layout2 -> widget2 -> scroll area2 -> h_layout_main -> main widget

(add graph to layout, set layout on widget, set widget on a scroll area, add scroll area to layout, set layout on main widget)

or even this will work,
graph1 -> scroll area1 -> h_layout_main -> main widget
graph2 -> scroll area2 -> h_layout_main -> main widget

You can either use Qt Designer / code to achieve this.