pyplot

Оснвные методы для построения:

  • plot() - графики
  • semilogy() - график логарифметический
  • hist() - гистограммы
  • errorbar() - графики с ошибками
  • bar() - диаграмма вертикальная, + ошибки
  • barh() - диаграмма горизонтальная, + ошибки
  • pie() - круги, куски пирога
  • scatter() - распределние значений
  • polar() - полярная система координат

cm

class matplotlib.pyplot.cm

Набор цветовых карт

Blues

annotate()

matplotlib.pyplot.annotate(text, xy, xytext, arrowprops)

Добавляет аннотацию указанных точек и возвращает matplotlib.text.Text

  • arrowprops - словарь, описание указателя на точку

    • alpha

    • arrowstyle - стиль стрелки

      • -> -> head_length=0.4, head_width=0.2
      • -[ -> WidthB=1.0, lengthB=0.2, angleB=None
      • <- -> 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
    • color

    • 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
    • facecolor - цвет курсора

    • frac

    • headwidth

    • linestyle

    • linewidth

    • mutation_scale

    • shrink - отступ от точки

    • width

  • text - сообщение

  • xy - кортеж, координата точки

  • xytext - кортеж, координата где отображать текст

annotate(
    'message',
    xy=(6, 30),
    xytext=(8, 31.5),
    arrowprops={
        'facecolor': 'black',
        'shrink': 0.05
    });

arrow()

matplotlib.pyplot.arrow(x, y, dx, dy)

Рисует стрелку на графике

axes()

matplotlib.pyplot.axes([new_axes])

Устанавливает или возвращает предельные координаты по осям: [xmin, xmax, ymin, ymax]

Также можно задать параметры через kwargs

axes()
(1.0, 4.0, 0.0. 12.0)

axes([0, 5, -1, 13])
# удаление осей
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)

bar()

matplotlib.pyplot.bar(x, y, **kwargs)
  • align - выравнивание столбцов относительно значения

    • edge
    • center
  • bottom

  • color - цвета столбцов

  • edgecolor - цвета границ столбцов

  • width - ширина столбцов, по умолчанию 0.8

  • xerr

  • yerr

Диаграмма вертикальная

barh()

matplotlib.pyplot.barh()

Диаграмма горизонтальная, аналогичная matplotlib.pyplot.bar()

draw()

matplotlib.pyplot.draw()

Рисует изображение

errorbar()

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])

figtext()

matplotlib.pyplot.figtext()

Возвращает matplotlib.text.Text

figure()

matplotlib.pyplot.figure(dpi, figsize)

Возвращает matplotlib.figure.Figure и назначает размер области просмотра

  • figsize - кортеж с размерами окна диаграммы в дюймах, по умобчанию 80 пискелей на дюйм
fig = figure(figsize=(3, 3))

fig = figure(dpi=128, figsize=(3, 3))

grid()

matplotlib.pyplot.grid(bool)

Включает отображение сетки по значениям осей

grid(True)

hist()

matplotlib.pyplot.hist(values[, bin=10])

Строит гистограмму для входящих данных.

По умолчанию делит данные на 10 отрезков

hist([1, 1, 1, 0])

hold()

matplotlib.pyplot.hold(bool)

Отображает пустое окно

hold(True)

interactivity()

matplotlib.pyplot.interactivity(bool)

Включает интерактинвый режим, изображение перерисовывается при каждом вызове метода plot().

Смотрите также:

interactivity(True)

ioff()

matplotlib.pyplot.ioff()

Выключает интерактинвый режим

Смотрите также:

ioff()

ion()

matplotlib.pyplot.ion()

Включает интерактинвый режим

Смотрите также:

ion()

isinteractive()

matplotlib.pyplot.isinteractive()

Возвращает bool, включен интерактинвый режим

Смотрите также:

isinteractive()
# True

legend()

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 - количество столбцов для легенды

pie()

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%%",
)

plot()

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);

polar()

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));

rgrid()

matplotlib.pyplot.rgrid([radii, labels, angle=22.5])

Используется для полярных систем polar()

Настройка круговых линии

Возвращает два занчения, линии окружности и их заголовки или соответственно задает

  • radii - растояние между радиальных окружностей сетки
  • labels - заголовки
  • angle - шаг отображения градусов
# отображаем радиальные углы
plt.rgrids(np.arange(0.2, 3.1, .7), angle=0)

savefig()

matplotlib.pyplot.savefig(file_path, dpi, bbox_inches)

Сохраняет график в файл или любой другой записываемый объект, с параметрами по умолчанию

  • dpi - количество точек на дюйм
  • bbox_inches - отсечь пропуски
savefig("some_plot.png", bbox_inches='tight')
savefig(open("some_plot.png", 'w'))

scatter()

matplotlib.pyplot.scatter(x, y, s, c, marker, edgecolor, cmap)

Распределение значений

  • s - размер маркера, как для 1 значения так и для списка
  • color - цвет маркера, как для 1 значения так и для списка
scatter(1, 1, edgecolor='none', c='red', s=40)
scatter(1, 1, edgecolor='none', c=(0, 0, 0.8), s=40)

scatter([1, 2, 3, 4, 5], [1, 4, 9, 16, 25], cmap=plt.cm.Blues)

semilogy()

matplotlib.pyplot.semilogy()

Логарифмическая диаграмма

Аналогично plot()

setp()

matplotlib.pyplot.setp()

Устаналивает свойства для объектов

# задаем свойства для текстовых элементов
setp(text, fontsize=16, color='green')

# задает свойство для всех текстовых элементов ax элемента
setp(ax.get_ticklabels(), fontsize=5.)

show()

matplotlib.pyplot.show()

Отображает окно с графиком

show()

suptitle()

matplotlib.pyplot.suptitle()

Возвращает matplotlib.text.Text

text()

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, текст с линией

text(0.1, -0.04, "text")

tick_params()

matplotlib.pyplot.tick_params(axis, which, labelsize)

Оформление делений на осях

tick_params(axis='both', which='major', labelsize=14)

thetagrid()

matplotlib.pyplot.thetagrid([angles, labels, frac])

Используется для полярных систем polar()

Настройка линии для углов

# отображаем только углы от 45 до 360 с шагом 90
thetagrids(range(45, 360, 90))

title()

matplotlib.pyplot.title(label, fontsize)

Устанавливает подпись для графика и возвращает matplotlib.text.Text

title("Plot", fontsize=24)

xkcd()

matplotlib.pyplot.xkcd(scale=1, length=100, randomness=2)

Включает эффект рисования от руки

Можно использовать как контекстный процессор

with xkcd():
    pass

xlabel()

matplotlib.pyplot.xlabel(label, fontsize)

Устанавливает подпись для оси х и возвращает matplotlib.text.Text

xlabel("X axis", fontsize=24)

xlim()

matplotlib.pyplot.xlim([new_xlim])

Аналогично matplotlib.pyplot.axis() возвращает или устанавливает предельные значения по оси х

xlim()
# (1.0, 4.0)

xlim([0, 5])

xticks()

matplotlib.pyplot.xticks([locations[, labels]])

Возвращает или задает настройки для х оси

locations, labels = xticks()

# меняем символы на точках оси
xticks(
    range(len(x)),
    ['a', 'b', 'c'])

# отображаем только указанные точки
xticks(range(len(1, 8, 2)))

yticks()

matplotlib.pyplot.yticks([locations[, labels]])

Возвращает или задает настройки для y оси

Аналогично xticks()

ylabel()

matplotlib.pyplot.ylabel(label, fontsize)

Устанавливает подпись для оси y и возвращает matplotlib.text.Text

ylabel("Y axis", fontsize=24)

ylim()

matplotlib.pyplot.ylim([new_ylim])

Аналогично matplotlib.pyplot.axis() возвращает или устанавливает предельные значения по оси y

ylim()
# (0.0, 12.0)

ylim([-1, 13])