Matplotlib.pyplot.tight_layout() in Python
Matplotlib tight_layout() function in pyplot module of the Matplotlib library is used to automatically adjust subplot parameters to give specified padding.
Matplotlib.pyplot.tight_layout() Syntax in Python
Syntax: matplotlib.pyplot.tight_layout(pad=1.08, h_pad=None, w_pad=None, rect=None)
Parameters:
- pad: This parameter is used for padding between the figure edge and the edges of subplots, as a fraction of the font size.
- h_pad, w_pad: These parameter are used for padding (height/width) between edges of adjacent subplots, as a fraction of the font size.
- rect: This parameter is rectangle in the normalized figure coordinate that the whole subplots area will fit into.
Returns: This method does not return any value.
Python Matplotlib.pyplot.tight_layout() Examples
Below are the examples by which we can get Matplotlib tight_layout function guide and also learn how to optimize plot layout with Matplotlib tight_layout() Function in Python:
Creating a Two-Paneled Figure using Matplotlib tight_layout() Function
In this example, two side-by-side plots are created using Matplotlib. Each plot displays multiple line series with legends positioned at the top corners.
Python3
import numpy as np import matplotlib.pyplot as plt fig, axs = plt.subplots( 1 , 2 ) x = np.arange( 0.0 , 2.0 , 0.02 ) y1 = np.sin( 2 * np.pi * x) y2 = np.exp( - x) l1, = axs[ 0 ].plot(x, y1) l2, = axs[ 0 ].plot(x, y2, marker = 'o' ) y3 = np.sin( 4 * np.pi * x) y4 = np.exp( - 2 * x) l3, = axs[ 1 ].plot(x, y3, color = 'tab:green' ) l4, = axs[ 1 ].plot(x, y4, color = 'tab:red' , marker = 'o' ) fig.legend((l1, l2), ( 'Line 1' , 'Line 2' ), 'upper left' ) fig.legend((l3, l4), ( 'Line 3' , 'Line 4' ), 'upper right' ) fig.suptitle( 'matplotlib.pyplot.tight_layout() Example' ) plt.tight_layout() plt.show() |
Output:
Plotting a Logarithmically Scaled Frequency Response using Matplotlib
In this example, a logarithmically-scaled frequency response plot is generated using Matplotlib, with frequency values formatted in engineering notation.
Python3
import matplotlib.pyplot as plt import numpy as np from matplotlib.ticker import EngFormatter prng = np.random.RandomState( 19680801 ) xs = np.logspace( 1 , 9 , 100 ) ys = ( 0.8 + 0.4 * prng.uniform(size = 100 )) * np.log10(xs) * * 2 plt.xscale( 'log' ) formatter0 = EngFormatter(unit = 'Hz' ) plt.plot(xs, ys) plt.xlabel( 'Frequency' ) plt.title( 'matplotlib.pyplot.tight_layout() Example' ) plt.tight_layout() plt.show() |
Output:
Contact Us