Как создать легенду вручную в matplotlib (с примером)


Вы можете использовать функции подмодулей matplotlib.lines и matplotlib.patches для создания ручной легенды на графике matplotlib.

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

Пример: создать легенду вручную в Matplotlib.

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

 import matplotlib. pyplot as plt

#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]

#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')

#add legend
plt. legend ()

#displayplot
plt. show () 

Чтобы вручную создать легенду с настраиваемыми линиями и квадратами, нам необходимо импортировать подмодули matplotlib.lines и matplotlib.patches .

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

 import matplotlib. pyplot as plt
from matplotlib. lines import Line2D
import matplotlib. patches as mpatches

#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]

#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')

#define handles and labels that will get added to legend
handles, labels = plt. gca (). get_legend_handles_labels ()

#define patches and lines to add to legend
patch1 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')
patch2 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')   
line1 = Line2D([0], [0], label=' First Manual Line ', color=' purple ')
line2 = Line2D([0], [0], label=' Second Manual Line ', color=' red ')

#add handles
handles. extend ([patch1, line1, line2])

#add legend
plt. legend (handles=handles)

#displayplot
plt. show () 

Легенда руководства Matplotlib

Обратите внимание, что эта легенда включает в себя метки исходных данных, а также метки и формы элементов, которые мы добавили вручную.

Чтобы изменить метки или цвета любого из элементов, просто измените значения аргументов метки и цвета в предыдущем фрагменте кода.

Примечание . Обратитесь к этому руководству , чтобы узнать, как изменить положение легенды на графике.

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

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

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

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

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