Методы размещения легенды вне графика в Matplotlib

Чтобы разместить легенду вне графика в Matplotlib, вы можете использовать несколько методов:

  1. Метод 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. Метод 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. Метод 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. Метод 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. Метод 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()