Як змінити порядок елементів у легенді 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *