Как изменить положение легенды в matplotlib
Чтобы изменить положение легенды в Matplotlib, вы можете использовать функцию plt.legend() .
Например, вы можете использовать следующий синтаксис, чтобы разместить легенду в верхнем левом углу графика:
plt. legend (loc=' upper left ')
Местоположение по умолчанию — «лучшее» — именно здесь Matplotlib автоматически находит местоположение для легенды в зависимости от того, где он избегает покрытия точек данных.
Однако вы можете указать одно из следующих местоположений подписей:
- В правом верхнем углу
- в верхнем углу слева
- внизу слева
- в правом нижнем углу
- ВЕРНО
- центр слева
- Правоцентристский
- нижний центр
- вверху по центру
- центр
Вы также можете использовать аргумент bbox_to_anchor() , чтобы разместить легенду за пределами графика. Например, вы можете использовать следующий синтаксис, чтобы разместить легенду в правом верхнем углу за пределами графика:
plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )
Следующие примеры показывают, как использовать каждый из этих методов на практике.
Пример 1: измените положение легенды внутри графика Matplotlib.
Следующий код показывает, как разместить легенду в правой центральной части линейного графика Matplotlib:
import pandas as pd import matplotlib. pyplot as plt #createdata df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (loc=' center right ', title=' Metric ')
Следующий код показывает, как разместить легенду в левом верхнем углу графика Matplotlib:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (loc=' upper left ', title=' Metric ')
Пример 2. Измените положение легенды за пределами графика Matplotlib.
Чтобы разместить легенду за пределами графика Matplotlib, мы можем использовать аргумент bbox_to_anchor() .
Например, вот как разместить легенду за пределами правого верхнего угла графика:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (bbox_to_anchor=( 1.02 , 1 ), loc=' upper left ', borderaxespad= 0 )
А вот как разместить легенду за пределами правого нижнего угла графика:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (bbox_to_anchor=( 1.02 , 0.1 ), loc=' upper left ', borderaxespad= 0 )
Обратитесь к документации matplotlib для подробного объяснения аргумента bbox_to_anchor() .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в Matplotlib:
Как изменить размер шрифта легенды в Matplotlib
Как добавить заголовок к легенде в Matplotlib
Как настроить положение заголовка в Matplotlib
Как настроить положение метки оси в Matplotlib