
subplot_kw : dict, optionalĭict with keywords passed to the GridSpecĬonstructor used to create the grid the subplots are placed on. Num : integer or string, optional, default: NoneĪ pyplot.figure keyword that sets the figure number or label.

If False, no squeezing at all is done: the returned Axes object isĪlways a 2D array containing Axes instances, even if it ends up


Resulting single Axes object is returned as a scalar. if only one subplot is constructed (nrows=ncols=1), the.The code determines the maximum y-extend for each set of data, casts it into an integer and then divides the figure into subplots using the sum of these extends as scale for the GridSpec. #fig, ax = plt.subplots(3,ncols=1, sharex=True, sharey=True) # the maximum extent of the plot in y-direction (cast as int) # the maximum multiplier for the function Here an example that determines the ratio for you and creates the subplots accordingly: import matplotlib.pyplot as plt I found the following links to similar problems but none really helped me to solve my issue: They should still have the same scaling on the Y axis in order for the viewer to estimate the relative data height ( which cold be a countrate for example). The size of the subplot would than represent the relative height ratios of the data. Essentially eliminating the not used white space. What i would like to achieve is that the scales of each plot end where the data ends. # Simple data to display in various formsįig, ax = plt.subplots(3,ncols=1, sharex=True, sharey=True)Īll subplots have the same height now and the data span in the y-Axis is recognizable as the data is displayed with the correct relative proportion.

SIZE = (12, 8) #desired overall figure size If i use the sharey=True kwarg for the subbplots the data is displayed in a way that the relative intensity is recognizable: import matplotlib.pyplot as plt I want to automatically scale the vertical height of subplots for shared x-axis figures based on their data span! I want to compare the relative intensity of the displayed data.
