Редактировать
Чтобы уточнить исходный ответ, в настоящее время нет способа сделать это через pandas.DataFrame.plot
. В текущей реализации (версия 0.25.3) аргумент 'legend'
для plot
принимает только логическое значение или строку 'reverse'
:
legend : False / True / 'reverse'
Поместить легенду на вспомогательные участки оси
Не принимает строки положения легенды. Оставшиеся **kwargs
передаются в базовый метод matplotlib.pyplot
, который соответствует указанному аргументу 'kind'
(по умолчанию matplotlib.pyplot.plot
). Ни один из этих методов не позволяет позиционировать легенду через аргументы их ключевых слов.
Таким образом, only способ сделать это в настоящее время - это использовать plt.legend()
напрямую - как описано в моем исходном ответе ниже.
Как комментарии указывают, что вы должны использовать plt.legend(loc='lower left')
, чтобы поместить легенду в левом нижнем углу. Даже при использовании pandas.DataFrame.plot
- нет параметра, который регулирует положение легенды, только если легенда нарисована. Вот полный пример, демонстрирующий использование
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.random.random(100)
df = pd.DataFrame({'x': x, 'y':y})
df.plot(kind='scatter', x='x', y='y', label='Scatter')
plt.legend(loc='lower left')
plt.show()