Оснвные методы для построения:
bar()
- диаграмма вертикальная
barh()
- диаграмма горизонтальная
errorbar()
- графики с ошибками
hist()
- гистограммы
hist2d()
hlines()
pie()
- круги, куски пирога
plot()
- графики, ломаная линия
polar()
- полярная система координат
scatter()
- нанесение маркера в точке
semilogy()
- график логарифметический
text()
- нанесение текста
matplotlib.pyplot.
acorr
()matplotlib.pyplot.
angle_spectrum
()matplotlib.pyplot.
annotate
(text, xy, *args, **kwargs*)Добавляет аннотацию указанных точек, аналогично matplotlib.axes.Axes.annotate()
, возвращает matplotlib.text.Text
.
text : str - сообщение
xy : tuple(x, y) - координата точки
annotation_clip : bool
True - аннотация будет отрисовываться, если xy попадает в результирующую ось
False - аннотация будет отрисовываться всегда
None - аннотация будет отрисовываться, если ху попадает в результирующую ось и xycoords == ‘data’
arrowprops : dict - описание свойств указателя, стрелки на точку для объекта matplotlib.patches.FancyArrowPatch()
Если задан параметр arrowstyle, то остальные ключи игнорируются
- arrowstylestr - стиль стрелки
- - None
|-| - widthA=1.0, widthB=1.0
-[ - widthB=1.0, lengthB=0.2, angleB=None
-> - head_length=0.4, head_width=0.2
<- - head_length=0.4, head_width=0.2
<-> - head_length=0.4, head_width=0.2
-|> - head_length=0.4, head_width=0.2
<|- - head_length=0.4, head_width=0.2
<|-|> - head_length=0.4, head_width=0.2
fancy - head_length=0.4, head_width=0.4, tail_width=0.4
simple - head_length=0.5, head_width=0.5, tail_width=0.2
wedge - tail_width=0.3, shrink_factor=0. 5
- connectionstyle - стиль соединения с точкой
- arc -> angleA=0, angleB=0, armA=None, armB,=None, rad=0.0
arc,angleA=10,armA=30,rad=15
- arc3 -> rad=0.0
arc3,rad=.2
arc3,rad=-.2
angle -> angleA=90, angleB=0, rad=0.0
angle3 -> angleA=90, angleB=0
bar -> armA=0.0,armB=0.0,fraction=0.3,angle=None
headlength
headwidth
mutation_aspect
mutation_scale
patchA
patchB
relpos
shrink - отступ от точки
shrinkA
shrinkB
width
textcoords: str, matplotlib.artist.Artist()
, matplotlib.transform.Transform()
, callbal, tuple
система координат, для укзанной позиции сообщения
offset points
offset pixels
xycoords: str, matplotlib.artist.Artist()
, matplotlib.transform.Transform()
, callbal, tuple
система координат, для указанной позиции точек
figure points
figure pixels
figure fraction
axes points
axes pixels
axes fraction
data
polar
xytext : tuple(x, y) - координата где отображать текст, если не задан, то отображается на указанной точке
matplotlib.text.Text
параметры
pyplot.annotate(
'message on (0.3, 0.3), point on (0.2, 0.2)',
(0.2, 0.2),
xytext=(0.3, 0.3),
arrowprops={
'facecolor': 'black',
'shrink': 0.05
}
)
matplotlib.pyplot.
arrow
(x, y, dx, dy, **kwargs)Рисует стрелку на графике и возвращает matplotlib.patches.FancyArrow()
head_length : float or None = 1.5*head_width
head_width : float or None = 3*width
head_starts_at_zero : bool = False
length_includes_head : bool = False
overhang : float = 0
shape : [‘full’, ‘left’, ‘right’] = full
width : float = 0.001
matplotlib.patches.FancyArrow()
параметры
pyplot.arrow(
0.2, 0.2, 0.2, 0.2,
fc='r',
ec='g',
head_width=0.1,
)
matplotlib.pyplot.
autoscale
()matplotlib.pyplot.
autumn
()matplotlib.pyplot.
axes
(arg=None, **kwargs)Создает новую ось в текущей фигуре и возвращает matplotlib.axes.Asxes()
arg - None, tuple(l, b, w, h)
label - str
polar - bool
projection - None, ‘aitoff’, ‘hammer’, ‘lambert’, ‘mollweide’, ‘polar’, ‘rectilinear’, str
sharex - matplotlib.axes.Axes()
sharey - matplotlib.axes.Axes()
matplotlib.axes.Axes()
параметры
axes()
# AxesSubplot(0.125, 0.11; 0.775x0.77)
axes([0, 0, 0.5, 0.5], facecolor='r')
matplotlib.pyplot.
axhline
(y=0, xmin=0, xmax=1, **kwargs)Добавляет линию для оси Х и возвращает matplotlib.lines.Line2D()
matplotlib.lines.Line2D()
параметры
axhline()
axhline(linewidth=4, color='r')
axhline(y=1)
axhline(y=.5, xmin=0.25, xmax=0.75)
matplotlib.pyplot.
axvline
(x=0, ymin=0, ymax=1, **kwargs)Добавляет линию для оси Х и возвращает matplotlib.lines.Line2D()
matplotlib.lines.Line2D()
параметры
axvline()
axvline(linewidth=4, color='r')
axvline(y=1)
axvline(y=.5, xmin=0.25, xmax=0.75)
matplotlib.pyplot.
axhspan
(ymin, ymax, xmin=0, xmax=1, **kwargs)Добавляет горизонтальную область и возвращает matplotlib.patches.Polygone()
matplotlib.patches.Polygone()
параметры
axhspan(0, 0.3, 0, 10, color='r')
matplotlib.pyplot.
bar
(x, height, **kwargs)Рисует вертикальную диаграмму, столбцы и возвращает matplotlib.container.BarContainer()
x : iterable - координаты по оис х
height : scalar | iterable - высота столбцов
align : ‘center’ | ‘edge’ - выравнивание столбцов относительно значения
bottom : scalar | iterable = 0 - у координата столбцов
capsize : scalar | iterable
color : scalar | iterable - цвета столбцов
ecolor : scalar | iterable
edgecolor : scalar | iterable - цвета границ столбцов
error_kw: dict
linewidth : scalar | iterable - ширина границ столбцов
log : bool - устанавливает логарифмическую ось У
tick_label : scalar | iterable - подписи для значений оси х
xerr, yerr : scalar | iterable -
width : scalar | iterable = 0.8 - ширина столбцов
pyplot.bar([1, 2, 3], [5, 8, 3])
matplotlib.pyplot.
barbs
()matplotlib.pyplot.
barh
()Диаграмма горизонтальная, аналогичная matplotlib.pyplot.bar()
pyplot.barh([1, 2, 3], [5, 8, 3])
matplotlib.pyplot.
bone
()Устанавливает цветовую схему bone
matplotlib.pyplot.
box
(on: bool = None)matplotlib.pyplot.
boxplot
()matplotlib.pyplot.
broken_barh
()matplotlib.pyplot.
cla
()Очищает область осей
matplotlib.pyplot.
clabel
()matplotlib.pyplot.
clf
()Очищает область фигуры
matplotlib.pyplot.
clim
(vmin=None, vmax=None)matplotlib.pyplot.
close
(fig=None)Закрывает окно фигуры
matplotlib.pyplot.
cohere
()matplotlib.pyplot.
colorbar
()matplotlib.pyplot.
connect
(event_name, callback)Добавляет обработчики событий и возвращет его идентификатор,
который можно исползоват для удаления обработчика через matplotlib.pyplot.disconnect()
.
button_press_event
button_release_event
draw_event
key_press_event
key_release_event
motion_notify_event
pick_event
resize_event
scroll_event
figure_enter_event,
figure_leave_event,
axes_enter_event,
axes_leave_event
close_event
close_id = pyplot.connect('close_event', lambda event: pass)
matplotlib.pyplot.
contour
()matplotlib.pyplot.
contourf
()matplotlib.pyplot.
cool
()Устанавливает цветовую схему cool.
matplotlib.pyplot.
cooper
()Устанавливает цветовую схему cooper.
matplotlib.pyplot.
csd
()matplotlib.pyplot.
delaxes
(ax=None)Удаляет область рисования из фигуры
matplotlib.pyplot.
disconnect
(cid)Удаляет обработчик событий, назначенный через matplotlib.pyplot.connect()
matplotlib.pyplot.
draw
()Перерисовывает фигуру
matplotlib.pyplot.
errorbar
(x, y, yerr, xerr, fmt, ecolor, elinewidth, capsize)Строит какой то график
errorbar(
numpy.arange(0, 4, 0.2),
numpy.exp(-x),
0.1 * numpy.abs(
numpy.random.randn(len(y))),
fmt=".-"
)
errorbar(x, y, yerr=e1, xerr=e2)
errorbar(x, y, yerr=[e1, e2])
matplotlib.pyplot.
eventplot
()matplotlib.pyplot.
figtext
()Возвращает matplotlib.text.Text
matplotlib.pyplot.
figure
(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs)Возвращает объект области рисования, matplotlib.figure.Figure
и назначает размер области рисования
figsize - кортеж с размерами окна диаграммы в дюймах, по умобчанию 80 пискелей на дюйм
fig = plt.figure(figsize=(3, 3))
fig = plt.figure(dpi=128, figsize=(3, 3))
fig = plt.figsize(figsize=(8, 6), facecolor='pink', frameon=True)
matplotlib.pyplot.
grid
(bool)Включает отображение сетки по значениям осей
grid(True)
matplotlib.pyplot.
hist
(values, bin=10, color, edgecolor)Строит гистограмму для входящих данных.
По умолчанию делит данные на 10 отрезков
hist([1, 1, 1, 0])
hist([1, 1, 1, 0], color='blue', edgecolor='black', bins=30)
matplotlib.pyplot.
hold
(bool)Отображает пустое окно
hold(True)
matplotlib.pyplot.
interactivity
(bool)Включает интерактинвый режим, изображение перерисовывается
при каждом вызове метода plot()
.
Смотрите также:
interactivity(True)
matplotlib.pyplot.
ioff
()Выключает интерактинвый режим
Смотрите также:
ioff()
matplotlib.pyplot.
ion
()Включает интерактинвый режим
Смотрите также:
ion()
matplotlib.pyplot.
isinteractive
()Возвращает bool
, включен интерактинвый режим
Смотрите также:
isinteractive()
# True
matplotlib.pyplot.
legend
(**kwargs)Возвразает или отображаем легенду matplotlib.legend.Legend
borderaxespad - величина зазора между осями и легендой
legend_names - список названии легенд, лучше задавать при построении графика
loc - местоположение вывода данных легенды, можно задачть как числом так и строкой, а также кортежом позиции
0 - best
1 - upper right
2 - upper left
3 - lower left
4 - lower right
5 - right
6 - center left
7 - center right
8 - lower center
9 - upper center
10 - center
legend()
legend(['Legend1', 'Legend2'])
legend(loc=(-0.1, 0.9))
legend(loc='best')
legend(loc=3)
mode
expand - растянуть легенду по всей ширине
ncol - количество столбцов для легенды
matplotlib.pyplot.
pie
(x, **kwargs)Кусок пирога
colors - цвета секторов
explode - список уровней выдвижения секторов
labels - список заголовков секторов
shadow - булево, добавить тень
labeldistance
autopct
pctdistance
pie([10, 30, 60], ['Red', 'Green', 'Blue'])
pie(
x,
labels,
explode=[0.2, 0.1, 0.0],
autopct="%1.1f%%",
)
matplotlib.pyplot.
plot
(*args, **kwargs)Создает график
color - цвет линии
label - строка легенды
line_format - идет сразу после координат, тип линии, цвет линии, маркер точек, задается строкой
Типы линии
сплошная линия
– - пунктирная линия
-. - пнутирная с точкой
: - точечный график
Цвета
b - синий
c - голубой
g - зеленый
k - черный
m - фиолетовый
r - красный
w - белый
y - желтый
‘red’
‘#ff00ff’ - hex
(1, 0, 1, 1) - RGBA
‘0.7’ - оотенки серого
Маркеры точек
., , - точка
*, +, |, - -
V, ^, <, > - треуголник
1, 2, 3, 4 -
o - круг
D - ромбик
d -
H -
h -
s - квадрат
p - пятиуголник
X -
x -
linestyle - стиль линии
linewidth - ширина линии
marker - маркер точек
markeredgecolor - цвет граней маркера
markeredgewidth - ширина грней маркера
markerfacecolor - цвет заливки маркера
markersize - размер маркера
# строит график по указанным у координатам
# каждой у соответсвует х от 0
plot([1, 3, 2, 4])
# строит график по указанным x, y координатам
x = range(6)
y = [i**2 for i in x]
plot(x, y)
# строит график по указанным x, y координатам
x = range(6)
y = [i**2 for i in x]
y1 = [i*3 for i in x]
plot(x, y, x, y1)
# график с красной линией
plot([1, 3, 2, 4], 'r')
# графики с цветами
plot(
x, y, 'r',
x, y1, 'y')
# типы линии
plot(
x, y, '--',
x, y1, '-.')
plt.plot(
# голубой, пунктирный, маркеры - х
y, 'cx--',
# фиолетовый, точечный, маркер - круг
y+1, 'mo:',
# черный, тире и точка, маркер - пятиуголник
y+2, 'kp-.')
plt.plot(
y,
color='blue',
linestyle='dashdot',
linewidth=4,
marker='o',
markerfacecolor='red',
markeredgecolor='black',
markeredgewidth=3,
markersize=12);
matplotlib.pyplot.
polar
()Полярная система координат
# окружность от 0 до 2pi
theta = numpy.arange(0., 2., 1./180.)*numpy.pi
# спираль
plt.polar(3*theta, theta/5);
# цветок
plt.polar(theta, numpy.cos(4*theta));
# круг
plt.polar(theta, [1.4]*len(theta));
matplotlib.pyplot.
rgrid
([radii, labels, angle=22.5])Используется для полярных систем polar()
Настройка круговых линии
Возвращает два занчения, линии окружности и их заголовки или соответственно задает
radii - растояние между радиальных окружностей сетки
labels - заголовки
angle - шаг отображения градусов
# отображаем радиальные углы
plt.rgrids(np.arange(0.2, 3.1, .7), angle=0)
matplotlib.pyplot.
savefig
(fname, dpi=None, facecolor='w', edgecolor='w', orientation='portrait', papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)Сохраняет график в файл или любой другой записываемый объект, с параметрами по умолчанию
dpi - количество точек на дюйм
bbox_inches - отсечь пропуски
savefig("some_plot.png", bbox_inches='tight')
savefig(open("some_plot.png", 'w'))
matplotlib.pyplot.
scatter
(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, plotnonfinite=False, data=None, **kwargs)Добавляет точки, маркеры на область рисования и возвращает коллекцию точек matplotlib.collections.PathCollection
s - размер маркера, как для 1 значения так и для списка
c - цвет маркера, как для 1 значения так и для списка
marker - matplotlib.markers.MarkerStyle
cmap - matplotlib.colors.Colormap
norm - matplotlib.colors.Normalize
kwargs - matplotlib.collections.Collection
scatter(1, 1, edgecolors='none', c='red', s=40)
scatter(1, 1, edgecolors='none', c=(0, 0, 0.8), s=40)
scatter([1, 2, 3, 4, 5], [1, 4, 9, 16, 25], cmap=plt.cm.Blues)
matplotlib.pyplot.
semilogy
()Логарифмическая диаграмма
Аналогично plot()
matplotlib.pyplot.
setp
()Устаналивает свойства для объектов
# задаем свойства для текстовых элементов
setp(text, fontsize=16, color='green')
# задает свойство для всех текстовых элементов ax элемента
setp(ax.get_ticklabels(), fontsize=5.)
matplotlib.pyplot.
show
()Отображает окно с графиком
show()
matplotlib.pyplot.
subplot
(nrows, ncols, index, **kwargs)matplotlib.pyplot.
subplot
(pos, **kwargs)matplotlib.pyplot.
subplot
(ax)Добавляет subplot в текущую фигуру и возвращает matplotlib.axes.Axes
.
При добавлении удаляет все существующие фигуры из области рисования, если такое поведение мешает, можно воспользоваться методом matplotlib.figure.Figure.add_sublot()
или matplotlib.pyplot.axes()
label
polar - (True | False)
projection - None, aitoff, hammer, lambert, mollweide, polar, rectilinear, matplotlib.projection
sharex, sharey - matplotlib.axes.Axes
kwargs - параметры из matplotlib.axes.Axes
plt.subplot(211)
# без сетки
plt.subplot(211, frameon=False)
# круговая проекция
# добавляем область рисования с сеткой, 2 ряда и 2 колонки
# область рисования будет в первой ячейке
ax1 = plt.subplot(2, 2, 1)
# plt.subplot(221)
# аналогично
# добавляем область рисования во вторую ячейку, без границ
ax2 = plt.subplot(222, frameon=False)
# добавляем область в третью ячейку, с круговой проекцией
plt.subplot(223, projection='polar')
# добавляем обасть рисования, окрашеную в красный фоновый цвет
plt.subplot(224, sharex=ax1, facecolor='red')
# удаляем указанную область рисования
plt.delaxes(ax2)
# вновь добавляем указанную область рисования
plt.subplot(ax2)
plt.show()
matplotlib.pyplot.
subplots
(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_tk=None, gridspec_kw=None, **kwargs)Возвращает кортеж:
фигуру
matplotlib.figure.Figure
, которая имеет несколько областей рисованияобласть рисования
matplotlib.axes.Axes
fig, ax = plt.subplots()
fig, [[ax1, ax2], [ax3, ax4]] = plt.subplots(2, 2)
fig, [ax1, ax2, ax3, ax4] = plt.subplots(1, 4)
matplotlib.pyplot.
suptitle
()Возвращает matplotlib.text.Text
, аналогично matplotlib.axes.Axes.suptitle()
matplotlib.pyplot.
text
(x, y, text, **kwargs)Рисует указанный текст на указанной позиции и
возвращает matplotlib.text.Text
(withdash=False) или
matplotlib.text.TextWithDash
(withdash=True)
alpha - прозрачность
background - цвет фона шрифта
blue
r
#11aa55
(0.4, 0.5, 0.3)
0.7
bbox - словарь, описание рамки вокруг текста
edgecolor - цвет рамки
facecolor - цвет заливки рамки
fill - булево, заливка
- linestyle - стиль рамки
solid - обычная рамка
dashed - штрих-пунктир
dashdot - штрихпунктир
dotted - точечный
linewidth - толщина линии рамки
- hatch - штриховка внутри рамки
“/”
“”
“|”
“-“
“+”
“x”
“o”
“O”
“.”
“*”
visible - булево, рамка видима
- boxstyle - внешний вид рамки
square
sawtooth
roundtooth
rarrow
larrow
round64
round
color - цвет шрифта
blue
r
#11aa55
(0.4, 0.5, 0.3)
0.7
family - семейство шрифта
sans-serif
serif
fantasy
monospace
verdana
fontdict - словарь, описывающий шрифт
family
rotation - поворот текста
horizontal
vertical
45
size - размер шрифта
xx-small
x-small
small
medium
large
x-large
xx-large
style - стиль
normal
italic
oblique
weight - толщина шрифта
ultralight
light
normal
regular
book
medium
roman
semibold
demibold
demi
bold
heavy
bold
black
200
withdash - bool
, текст с линией
plt.text(0.1, -0.04, 'text', fontsize=26, bbox={'color': 'w'}, rotation=90)
plt.text(
0.5,
0.5,
'Text with borders',
fontsize=14,
# выравнивание по вертикали и по горизонтали по центру
horizontalalignment='center',
verticalalignment='center',
bbox=dict(facecolor='pink', alpha=0.5)
)
matplotlib.pyplot.
tick_params
(axis, which, labelsize)Оформление делений на осях
tick_params(axis='both', which='major', labelsize=14)
matplotlib.pyplot.
thetagrid
([angles, labels, frac])Используется для полярных систем polar()
Настройка линии для углов
# отображаем только углы от 45 до 360 с шагом 90
thetagrids(range(45, 360, 90))
matplotlib.pyplot.
title
(label, fontsize)Устанавливает подпись для графика и возвращает matplotlib.text.Text
, аналогично matplotlib.axes.Axes.set_title()
title("Plot", fontsize=24)
matplotlib.pyplot.
xkcd
(scale=1, length=100, randomness=2)Включает эффект рисования от руки
Можно использовать как контекстный процессор
with xkcd():
pass
matplotlib.pyplot.
xlabel
(label, fontsize)Устанавливает подпись для оси х и возвращает matplotlib.text.Text
, аналогично matplotlib.axes.Axes.set_xlabel()
plt.xlabel('X axis', fontsize=24)
matplotlib.pyplot.
xlim
([new_xlim])Аналогично matplotlib.pyplot.axis()
возвращает или устанавливает
предельные значения по оси х
xlim()
# (1.0, 4.0)
xlim([0, 5])
matplotlib.pyplot.
xticks
([locations[, labels]])Возвращает или задает настройки для х оси
locations, labels = xticks()
# меняем символы на точках оси
xticks(
range(len(x)),
['a', 'b', 'c'])
# отображаем только указанные точки
xticks(range(len(1, 8, 2)))
matplotlib.pyplot.
yticks
([locations[, labels]])Возвращает или задает настройки для y оси
Аналогично xticks()
matplotlib.pyplot.
ylabel
(label, fontsize)Устанавливает подпись для оси y и возвращает matplotlib.text.Text
, аналогично matplotlib.axes.Axes.set_ylabel()
plt.ylabel('Y axis', fontsize=24)
matplotlib.pyplot.
ylim
([new_ylim])Аналогично matplotlib.pyplot.axis()
возвращает или устанавливает
предельные значения по оси y
ylim()
# (0.0, 12.0)
ylim([-1, 13])