Matplotlib Маркеры на графике

В процессе построения графика, если мы хотим настроить различные маркеры для координат, можно использоватьplot()метод, параметрmarkerкоторого задает маркеры.

В следующем примере задается маркер сплошного круга:

Пример

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])

plt.plot(ypoints, marker = 'o')
plt.show()

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

markerСимволы, которые можно задать, приведены ниже:

Marker Символ Описание
"." m00 Point
"," m01 Пиксельная точка
"o" m02 Сплошной круг
"v" m03 Треугольник вниз
"^" m04 Треугольник вверх
"<" m05 Треугольник влево
">" m06 Треугольник вправо
"1" m07 Треугольник вниз
"2" m08 Треугольник вверх
"3" m09 Левый треугольник
"4" m10 Правый треугольник
"8" Восьмиугольник
"s" m12 Square
"p" m13 Пятиугольник
"P" m23 Знак плюс (заполненный)
"*" m14 Star
"h" m15 Шестиугольник 1
"H" m16 Шестиугольник 2
"+" m17 Плюс
"x" m18 Знак умножения x
"X" m24 Знак умножения x (заполненный)
"D" m19 Ромб
"d" m20 Тонкий ромб
"|" m21 Вертикальная черта
"_" m22 Горизонтальная линия
0 (TICKLEFT) m25 Левая горизонтальная линия
1 (TICKRIGHT) m26 Горизонтальная линия вправо
2 (TICKUP) m27 Вертикальная линия вверх
3 (TICKDOWN) Вертикальная линия вниз
4 (CARETLEFT) m29 Стрелка влево
5 (CARETRIGHT) m30 Стрелка вправо
6 (CARETUP) m31 Стрелка вверх
7 (CARETDOWN) m32 Стрелка вниз
8 (CARETLEFTBASE) m33 Стрелка влево (на основе средней точки)
9 (CARETRIGHTBASE) m34 Стрелка вправо (на основе средней точки)
10 (CARETUPBASE) m35 Стрелка вверх (на основе средней точки)
11 (CARETDOWNBASE) m36 Стрелка вниз (на основе средней точки)
"None", " " или ""   Без маркера
'$...$' m37 Отображает указанный символ. Например, "$f$" использует букву f в качестве маркера.

В следующем примере определяется*маркер:

Пример

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])

plt.plot(ypoints, marker = '*')
plt.show()

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

В следующем примере определяется стрелка вниз:

Пример

import matplotlib.pyplot as plt
import matplotlib.markers

plt.plot([1, 2, 3], marker=matplotlib.markers.CARETDOWNBASE)
plt.show()

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

параметр fmt

Параметр fmt определяет базовый формат, например маркер, стиль линии и цвет.

fmt = '[marker][line][color]'

Например,o:r,oобозначает маркер в виде сплошного круга,:обозначает пунктирную линию,rобозначает красный цвет.

Пример

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, 'o:r')
plt.show()

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

Типы линий:

Маркер типа линии Описание
'-' Сплошная линия
':' Пунктирная линия
'--' Ломаная линия
'-.' Штрихпунктирная линия

Типы цветов:

Маркер цвета Описание
'r' Красный
'g' Зелёный
'b' Синий
'c' Циан
'm' Magenta
'y' Жёлтый
'k' Чёрный
'w' Белый

Размер и цвет маркера

Мы можем настроить размер и цвет маркера. Используемые параметры:
  • markersize, сокращённоms: определяет размер маркера.
  • markerfacecolor, сокращённоmfc: определяет цвет внутренней части маркера.
  • markeredgecolor, сокращённоmec: определяет цвет границы маркера.

Установите размер маркера:

Пример

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, marker = 'o', ms = 20)
plt.show()

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

Установите цвет границы маркера:

Пример

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, marker = 'o', ms = 20, mec = 'r')
plt.show()

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

Установите цвет внутренней части маркера:

Пример

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, marker = 'o', ms = 20, mfc = 'r')
plt.show()

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

Настройте цвет внутренней части и границы маркера:

Пример

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mec = '#4C7EAF', mfc = '#4C7EAF')
plt.show()

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

Другие расширения