Placing the legend outside the plot area while maintaining the original axis dimensions is achievable using Matplotlib's versatile features. Here's how you can accomplish it:
The bbox_to_anchor keyword argument allows you to specify the bounding box coordinates for the legend relative to the figure's axes. By setting these coordinates, you can position the legend outside the plot area while keeping the axis dimensions unchanged.
For example:
import matplotlib.pyplot as plt x = np.arange(10) fig = plt.figure() ax = plt.subplot(111) for i in range(5): ax.plot(x, i * x, label='$y = %ix$' % i) # Shift the legend to the right outside the plot area ax.legend(bbox_to_anchor=(1.1, 1.05)) plt.show()
If you find the legend box too large, you can reduce the font size of the text within it. This can be done using the fontsize keyword argument:
# Shrink the font size of the legend text ax.legend(bbox_to_anchor=(1.1, 1.05), fontsize='small')
Apart from bbox_to_anchor, you can also consider the following options:
The above is the detailed content of How to Position a Matplotlib Legend Outside the Plot Area While Preserving Axis Dimensions?. For more information, please follow other related articles on the PHP Chinese website!