Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.Python.8-10.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Маркеры

Здесь также показано как можно объединять сразу три графика в одной инструкции. Кроме того, видно, что можно не только использовать маркеры (y1) или линии(y2), но и объединять их вместе (y3). Наиболее часто в научных исследованиях и журналах приводят графики, отличаемые друг от друга именно по маркерам, поэтому и в matplotlib для их обозначения имеется множество способов: . точечный маркер  , точки, размером с пиксель  o круги  v треугольники носом вниз  ^ треугольники носом вверх  > треугольники смотрят вправо  < треугольники смотрят влево  s квадраты  p пентагоны  ∗ звездочки  h шестиугольники  H повернутые шестиугольники  + плюсы  x крестики  D ромбы  d узкие ромбы  | вертикальные засечки

Дополнительные аргументы plot()

Итак, в одном аргументе, мы можем задать сразу три параметра: первым указываем цвет, вторым — стиль линии, третьим — тип маркера. Однако уже такая нотация может у человека незнакомого с ней, вызвать удивление. Кроме того, она не позволяет разделять параметры линии и маркера, поэтому существует вариант с использованием keywords — все также это позволяет щедрая функция plot():

Keyword argument

Что меняет

color или c

цвет линии

linestyle

стиль линии, используются обозначения, показанные выше

linewidth

толщина линии в виде float-числа

marker

вид маркера

markeredgecolor

цвет края (edge) маркера

markeredgewidth

толщина края маркера

markerfacecolor

цвет самого маркера

markersize

размер маркера

Итак, мы уже меняли все внутри окна графика и надписи за его пределами. Что осталось неизменным, так это подбираемые самим matplotlib оси. Делается это с помощью функций xticks() и yticks(), в которые передаются один или два списка значений: либо просто список указываемых значений, либо их же, но вначале те места, на которые они встают:

x = [5, 3, 7, 2, 4, 1]

plt.xticks(range(len(x)), ['a', 'b', 'c', 'd', 'e', 'f']) plt.yticks(range(1, 8, 2))

Кроме того, было бы желательно уметь наносить сетку. Для этого тоже имеется простая команда:

plt.grid(True)

Также часто требуется одну или обе оси выставить в логарифмическом масштабе. Для этого применяются команды plt.semilogx() и plt.semilogy().

Сохранение файла

Как сказано, мы можем сохранять файлы, используя панель под рисунком, но мы также можем и запрограммировать автоматическое сохранение наших результатов в файле и довольно легко:

from numpy import *  import matplotlib.pyplot as plt  t = linspace(0, 3, 51)  y = t**2*exp(-t**2)  plt.plot(t, y)  plt.savefig('name_of_plot.png', dpi=200)

Файл сохраняется в той же директории с именем и расширением, указанным в первом аргументе. Второй необязательный аргумент позволяет «на лету» менять разрешение картинки, сохраняемой в файл. Бывает так, что смотреть на картинки в уже настроенной программе не нужно и требуется их именно сохранять на будущее, чтобы просмотреть и сравнить их все вместе. Тогда нам не нужно запускать окно просмотра результатов. Для этого до прежних инструкций посылаем главному модулю сообщение:

import matplotlib  matplotlib.use('Agg')

Панель управления

Если же вы не только сохраняете рисунок, но и хотите предварительно лучше рассмотреть полученные результаты, в этом вам поможет панель управления, расположенная под полученным графиком. Давайте побольше узнаем об этом инструменте. Панель состоит из семи кнопок, так и будем называть и рассказывать о них, перемещаясь слева направо.

  • Первая кнопка, на которой изображен дом, возвращает нас с любого момента просмотра к тому виду, с которого мы начинали, какими их вывел сам matplotlib.

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

  • Четвертая кнопка (с голубым крестом) имеет два возможных режима:  - Режим pan — нажав на эту кнопку, а затем зажав в пределах графика левую клавишу мыши, мы можем перемещать график в пределах окна.  - Режим zoom — зажав правую клавишу мыши, мы можем изменять масштаб по горизонтали или вертикали, двигаясь в соответствующей плоскости вправо или влево, вверх или вниз.

  • Нажатие пятой кнопки позволяет приближать или удалять выбранную область соответственно выделяя ее левой или правой кнопкой мыши.

  • Нажатие шестой кнопки приводит к вызову меню настроек окна.

  • Последняя, седьмая кнопка позволяет сохранить рисунок в удобном формате.

Также у окна есть ряд горячих клавиш, заменяющих кнопки панели, а некоторые из предоставляемых ими функций в панели отсутствуют:

Горячая клавиша

Что делает

h

home, первая кнопка

c или ←

вторая кнопка

v или →

третья кнопка

p

pan, четвертая кнопка

o

пятая кнопка

удерживая x

pan и zoom только по горизонтали

удерживая y

pan и zoom только по вертикали

удерживая Ctrl

сохраняются пропорции

g

добавление сетки

l

логарифмическая шкала