forked from JMSwag/SimplePyScripts
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexm21.py
More file actions
68 lines (51 loc) · 2.94 KB
/
Copy pathexm21.py
File metadata and controls
68 lines (51 loc) · 2.94 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
__author__ = 'ipetrash'
## Использование библиотеки Matplotlib. Как рисовать графики в разных окнах
# В заметке Как нарисовать несколько графиков в одном окне описывалось, как можно
# рисовать несколько независимых графиков в одном окне. На этот раз мы посмотрим,
# как можно рисовать графики в разных окнах.
# Делается это очень просто. Достаточно перед выводом очередного графика вызвать
# функцию figure() из пакета 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]
ylist3 = [func (x * 2) for x in xlist]
# !!! Нарисуем график в первом окне
pylab.figure (1)
pylab.plot (xlist, ylist1, label = "f(x)")
# !!! Нарисуем график во втором окне
pylab.figure(2)
pylab.plot (xlist, ylist2, label = "f(x * 0.2)")
pylab.legend()
# !!! Нарисуем еще один график в первом окне
pylab.figure (1)
pylab.plot (xlist, ylist3, label = "f(x * 2)")
pylab.legend()
# Покажем окна с нарисованными графиками
pylab.show()