forked from gil9red/SimplePyScripts
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexm15.py
More file actions
86 lines (65 loc) · 3.9 KB
/
Copy pathexm15.py
File metadata and controls
86 lines (65 loc) · 3.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
__author__ = 'ipetrash'
# Использование библиотеки Matplotlib. Как отобразить легенду
# Легендой называют табличку, в которой показано какой график какой линией нарисован.
# Чтобы показать легенду, нужно вызвать функцию legend() из пакета pylab. Есть
# несколько способов для добавления легенды.
import math
# Импортируем один из пакетов Matplotlib
import pylab
# Импортируем пакет со вспомогательными функциями
from matplotlib import mlab
# Будем рисовать график этой функции
def func (x):
"""
sinc (x)
"""
if x == 0:
return 1.0
return math.sin (x) / x
if __name__ == '__main__':
# Интервал изменения переменной по оси X
xmin = -20.0
xmax = 20.0
# Шаг между точками
dx = 0.01
# Создадим список координат по оси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)
# Вычислим значение функции в заданных точках
ylist1 = [func (x) for x in xlist]
ylist2 = [func (x * 0.2) for x in xlist]
## Первый способ
# В качестве параметра функции legend() нужно передать список или кортеж,
# содержащий столько элементов, сколько графиков нарисовано в рабочем окне.
# Элементов может быть и меньше, но в этом случае последние графики, на которых
# не хватит элементов кортежа или списка, останутся без подписей.
# Следующий пример рисует два графика и к каждому из них добавляет описание в
# виде легенды.
# Нарисуем два одномерных графика
pylab.plot (xlist, ylist1, "b-")
pylab.plot (xlist, ylist2, "g--")
# !!! Добавим легенду.
# !!! Первому графику будет соответствовать надпись "f(x)",
# !!! А второму - "f(0.2 * x)"
pylab.legend ( ("f(x)", "f(0.2 * x)") )
## Первый способ
## Второй способ
# Того же самого результата мы можем добиться, если при рисовании графиков
# будем использовать дополнительный параметр label, а затем вызовем функцию
# legend() без параметров.
# !!! Нарисуем два одномерных графика и сразу зададим их описание
# pylab.plot (xlist, ylist1, "b-", label = "f(x)")
# pylab.plot (xlist, ylist2, "g--", label = "f(0.2 * x)")
#
# # !!! Добавим легенду.
# pylab.legend ()
# Этот способ более удобен тем, что каждому графику сразу приписывается какая-то
# метка.
## Второй способ
## Заголовок легенды
# В легенду можно добавить заголовок, для этого в функцию legend() надо
# передать дополнительный строковый параметр title со строкой заголовка.
# !!! Добавим легенду с заголовком
# pylab.legend (title = "Sinc")
## Заголовок легенды
# Покажем окно с нарисованным графиком
pylab.show()