I'm trying to create plots in Matplotlib where the plotting area (the area inside the black box with data, excluding tick labels and titles) has a fixed physical size, e.g. 2×2 inches, regardless of how long the tick labels are. With add_axes() or subplots(), the tick labels are included in the Axes box, so if I have long tick labels, the actual plot area shrinks. Here's a minimal example showing the issue: import matplotlib.pyplot as plt fig1 = plt.figure(figsize=(4, 4)) ax1 = fig1.add_axes([0.2, 0.2, 0.6, 0.6]) ax1.plot([1, 2, 3], [4, 5, 6]) plt.show() fig2 = plt.figure(figsize=(4, 4)) ax2 = fig2.add_axes([0.2, 0.2, 0.6, 0.6]) ax2.plot([1000, 2000, 3000], [4000, 5000, 6000]) plt.show() Is there a way to fix the plot area size so it stays constant regardless of tick length? I've looked into tight_layout(), constrained_layout, and inset_axes(), but I'm not sure if there's a better or more standard approach. Thanks! What i want: The data plot area (inside the Axes, not including tick labels or titles) to have a fixed physical size (e.g., 2×2 inches), So that the visual size of the plot is consistent even if tick labels are longer. (Having the two plots as subplots as sugested in this anwser doen't work for, they need to be two different plots Continue reading...