Чтобы разместить легенду вне графика в Matplotlib, вы можете использовать несколько методов:
-
Метод 1: использование параметра
bbox_to_anchor
в функцииlegend
.import matplotlib.pyplot as plt # Create a plot fig, ax = plt.subplots() ax.plot(x, y, label='Data') # Add a legend outside the plot ax.legend(loc='center left', bbox_to_anchor=(1, 0.5)) # Show the plot plt.show()
-
Метод 2: использование параметра
loc
и указание местоположения за пределами графика.import matplotlib.pyplot as plt # Create a plot fig, ax = plt.subplots() ax.plot(x, y, label='Data') # Add a legend outside the plot ax.legend(loc='center left', bbox_to_anchor=(1, 0.5)) # Show the plot plt.show()
-
Метод 3: использование параметра
bbox_transform
в функцииlegend
.import matplotlib.pyplot as plt # Create a plot fig, ax = plt.subplots() ax.plot(x, y, label='Data') # Add a legend outside the plot ax.legend(loc='center left', bbox_to_anchor=(1, 0.5), bbox_transform=plt.gcf().transFigure) # Show the plot plt.show()
-
Метод 4. Использование функции
figlegend
для создания отдельной легенды вне графика.import matplotlib.pyplot as plt # Create a plot fig, ax = plt.subplots() ax.plot(x, y, label='Data') # Create a separate legend outside the plot fig.legend(loc='center left', bbox_to_anchor=(1, 0.5)) # Show the plot plt.show()
-
Метод 5. Использование функции
tight_layout
для регулировки интервала и автоматического размещения легенды за пределами графика.import matplotlib.pyplot as plt # Create a plot fig, ax = plt.subplots() ax.plot(x, y, label='Data') # Add a legend outside the plot ax.legend(loc='center left') plt.tight_layout(rect=[0, 0, 0.8, 1]) # Show the plot plt.show()