Как изменить порядок элементов в легенде matplotlib


Вы можете использовать следующий фрагмент кода, чтобы изменить порядок элементов в легенде Matplotlib:

 #get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order])

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: изменить порядок элементов в легенде Matplotlib.

Предположим, мы создаем следующую линейную диаграмму в 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

#add lines to plot
plt. plot (df['points'], label='Points', color='green')
plt. plot (df['assists'], label='Assists', color='steelblue')
plt. plot (df['rebounds'], label='Rebounds', color='purple')

#add legend
plt. legend () 

Элементы легенды располагаются в том порядке, в котором мы добавили линии на график.

Однако мы можем использовать следующий синтаксис, чтобы настроить порядок элементов в легенде:

 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

#add lines to plot
plt. plot (df['points'], label='Points', color='green')
plt. plot (df['assists'], label='Assists', color='steelblue')
plt. plot (df['rebounds'], label='Rebounds', color='purple')

#get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order]) 

Орден легенд Matplotlib

Обратите внимание, что мы указали:

  • порядок = [1, 2, 0]

Это значит:

  • Первым элементом легенды должна быть метка, которая изначально находилась в индексной позиции 1 старой легенды («Помощь»).
  • Вторым элементом легенды должна быть метка, которая изначально находилась на позиции индекса 2 старой легенды («Отказы»).
  • Третьим элементом легенды должна быть метка, которая изначально находилась в индексной позиции 0 старой легенды («Точки»).

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Matplotlib:

Как изменить положение легенды в Matplotlib
Как разместить легенду вне графика Matplotlib
Как изменить размер шрифта легенды в Matplotlib

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

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