Как добавить легенду к диаграмме рассеивания в Matplotlib


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

import matplotlib.pyplot as plt
from matplotlib. colors import ListedColormap

#define values, classes, and colors to map 
values = [0, 0, 1, 2, 2, 2]
classes = ['A', 'B', 'C']
colors = ListedColormap(['red', 'blue', 'purple'])

#create scatterplot
scatter = plt.scatter (x, y, c=values, cmap=colors)

#add legend
plt.legend( \* scatter. legend_elements ())

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

Пример 1. Легенда диаграммы рассеяния со значениями

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

import matplotlib.pyplot as plt
from matplotlib. colors import ListedColormap

#define data
x = [3, 4, 4, 6, 8, 9]
y = [12, 14, 17, 16, 11, 13]

#define values, classes, and colors to map 
values = [0, 0, 1, 2, 2, 2]
classes = ['A', 'B', 'C']
colors = ListedColormap(['red', 'blue', 'purple'])

#create scatterplot
scatter = plt.scatter (x, y, c=values, cmap=colors)

#add legend with values
plt.legend( \* scatter. legend_elements ()) 

Пример 2. Легенда диаграммы рассеяния с классами

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

import matplotlib.pyplot as plt
from matplotlib. colors import ListedColormap

#define data
x = [3, 4, 4, 6, 8, 9]
y = [12, 14, 17, 16, 11, 13]

#define values, classes, and colors to map 
values = [0, 0, 1, 2, 2, 2]
classes = ['A', 'B', 'C']
colors = ListedColormap(['red', 'blue', 'purple'])

#create scatterplot
scatter = plt.scatter (x, y, c=values, cmap=colors)

#add legend with class names
plt.legend(handles=scatter. legend_elements ()[ 0 ], labels=classes)

Обратите внимание, что в этой легенде отображаются имена классов, которые мы указали (A, B, C), а не значения (0, 1, 2), которые мы указали.

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

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