Как изменить положение легенды в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *