Как добавить легенду к диаграмме рассеяния в 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