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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Дополнительные аргументы 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 логарифмическая шкала

Гистограммы


Гистограмма — способ графического представления табличных данных, в котором количественные соотношения некоторого показателя представлены в виде прямоугольников, площади которых пропорциональны вкладу. Для того, чтобы проиллюстрировать это определение и то, как его можно получить, напишем небольшую программу:

import matplotlib.pyplot as plt
import numpy as np
y = np.random.randn(1000)
plt.hist(y, 25)
plt.show()

Не удивляйтесь, если картинка, которую вы получите, будете отличаться от приведенной. Дело в том, что в инструкции np.random.randn(1000) создается массив из случайных точек в соответствии с Гауссовым распределением. Эта рандомность и ограниченность числа точек вносит свой вклад.

Как мы видим, в отличие от ранее применяемой функции plot() для кривых, используется hist() (histogram). Первым аргументом она принимает массив чисел, вторым необязательным аргументом является число полос, на которые будет разбит массив. По умолчанию это число равно десяти, мы присвоили ему значение 25.

Модуль sys в Python

Данный модуль обеспечивает высокоуровневое взаимодействие с операционной системой. Но не для всех ОС пригодны некоторые функции. Если не оговорено особо – функция работает во всех ОС. Перечень наиболее употребительных функций и переменных модуля:

Название Описание ОС
argv Содержит список аргументов, переданных скрипту. Первый аргумент – полный путь к фалу скрипта. Все
builtin_module_ names Содержит список модулей, компилированных с Питоном. Все
copyright Содержит строку информации о copyright интерпретатора Питона Все
dllhandle Содержит дескриптор DLL интерпретатора Питона Windows
exc_info() Возвращает информацию о последнем возникшем исключении. Если исключения не возникало, возвращает пустой список, иначе константный список, содержащий поля: type – тип исключения(имя его класса); value – собственно объект исключения; traceback – информация о стеке, состоянии скрипта. Все
executable Путь к интерпретатору. Все
exit([arg]) Выход с передачей системе кода выхода arg Все
exitfunc Если этой переменной присвоена какая-либо функция пользователя, то она вызывается при завершении программы или при вызове exit() Все
getdefaultencoding() Кодировка Юникода по умолчанию Все
getdlopenflags() ??? Unix
getrefcount(object) Возвращает число переменных, ссылающихся на объект в памяти Все
getrecursionlimit() Возвращает число раз, когда функция может вызывать саму себя(рекурсия) до переполнения стека. Все
hexversion Возвращает версию Питона в шестнадцатицентричном формате. Все.
maxunicode Максимальный символ Юникода, зависит от версии Юникода, установленного в системе Все
modules Список загруженных модулей Все
path Содержит в себе список путей поиска операционной системы Все
platform Строка с именем платформы, где запускается интерпретатор Питона, например ‘sunos5’ или ‘linux1’ Все
prefix Содержит в себе путь, где находятся платформенно-независимые файлы, обычно ‘/usr/local’ модули хранятся в prefix + ‘/lib python_version /’ и так далее. Все(но см. слэши / или \)
ps1; ps2 Две строки, содержащие в себе приглашения Питона, обычно ps1=‘>>>’ ps2=‘…’ Все
setcheckinterval (interval) Для мультипоточных приложений – сколько инструкций выполнится до того, как Питон проверит другие потоки(по умолчанию 9, если interval <=0, то проверка происходит после каждой команды) Все
setdefaultencoding (name) Устанавливает кодировку Юникода по умолчанию Все
setdlopenflags(n) ??? Unix
setrecursionlimit(n) Устанавливает лимит рекурсии. Максимум зависти от системы Все
stdin stdout stderr Файловые переменные, содержащие в себе значения стандартных потоков ввода вывода и ошибок, для функций input, raw_input, print. Могут переопределяться в файлы(например в лог-файл) Все
stdin stdout stderr Стандартные потоки, которые были назначены при старте программы(константы). Полезно для восстановления стандартных потоков после изменения stdin, stdout, stderr. Все
version Строка содержит в себе версию интерпретатора Питона в формате version (#build_number, build_date, build_time) [compiler] >>> import sys >>> sys.version '1.5.2 (#0 Apr 13 1999, 10:51:12) [MSC 32 bit (Intel)]' Все
version_info Константный список, содержащий в себе версию интерпретатора в формате major, minor, micro, releaselevel, и serial, например для интерпретатора Питона версии 2.0 содержит (2, 0, 0, ‘final’, 0) Все

Модуль os в Python

Python 3 поставляется с модулем os, что означает «операционная система». Модуль os содержит множество функций для получения информации о локальных каталогах, файлах, процессах и переменных окружения (а в некоторых случаях, и для манипулирования ими). Python предлагает очень хороший унифицированный программный интерфейс для всех поддерживаемых операционных систем, так что ваши программы можно запускать на любом компьютере с минимальным количеством платформо-зависимого кода.

ТЕКУЩИЙ РАБОЧИЙ КАТАЛОГ

Когда ваше знакомство с Python только начинается, вы много времени проводите в интерактивной оболочке Python. Вы будете видеть примеры, выглядящие следующим образом:
1. Импортирование какого-либо модуля из папки примеров
2. Вызов функции из этого модуля
3. Объяснение результата

Если вы ничего не знаете о текущем рабочем каталоге, то, возможно, шаг 1 окажется неудачным и будет порождено исключение типа ImportError. Почему? Потому что Python будет искать указанный модуль в пути поиска оператора import, но не найдёт его, потому что каталог examples не содержится в путях поиска. Чтобы исправить это, вы можете сделать одно из двух:
либо добавить папку examples в путь поиска оператора import;
либо сделать текущим рабочим каталогом папку examples.

Текущий рабочий каталог является неявным параметром, который Python постоянно хранит в памяти. Текущий рабочий каталог есть всегда, когда вы работаете в интерактивной оболочке Python, запускаете свой сценарии из командной строки или CGI-сценарий где-то на веб-сервере.

Модуль os содержит две функции для работы с текущим рабочим каталогом.

>>> import os (1)
>>> print(os.getcwd())
C:\Python31 (2)
>>> os.chdir('/Users/pilgrim/diveintopython3/examples') (3)
>>> print(os.getcwd())
C:\Users\pilgrim\diveintopython3\examples (4)

1. Модуль os поставляется вместе с Python; вы можете импортировать его когда угодно и где угодно.
2. Используйте функцию os.getcwd() для получения значения текущего рабочего каталога. Когда вы работаете в графической оболочке Python, текущим рабочим каталогом является каталог из которого она была запущена. В Windows это зависит от того, куда вы установили Python; каталог по умолчанию c:\Python31. Если оболочка Python запущена из командной строки, текущим рабочим каталогом считается тот, в котором вы находились, когда запускали её.
3. ↑ Используйте функцию os.chdir() чтобы сменить текущий рабочий каталог.
4. ↑ Когда я вызывал функцию os.chdir(), я использовал путь в стиле Linux (косая черта, нет буквы диска) даже если на самом деле работал в Windows. Это одно из тех мест, где Python пытается стирать различия между операционными системами.



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 881; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.113.197 (0.012 с.)