forked from gil9red/SimplePyScripts
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexm20.py
More file actions
66 lines (49 loc) · 2.69 KB
/
Copy pathexm20.py
File metadata and controls
66 lines (49 loc) · 2.69 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
__author__ = 'ipetrash'
# Использование библиотеки Matplotlib. Как изменять размеры ячеек таблицы при
# расположении графиков в окне.
#
# Продолжим разбираться с новыми возможностями Matplotlib, появившимися в версии
# 1.0.0. В этом примере посмотрим как с помощью этого класса GridSpec сделать так,
# чтобы размеры ячеек для графиков были бы разных размеров. Причем, в данном случае
# речь будет идти не о том, что графики занимают несколько ячеек, регулирование
# размеров будет осуществляться именно за счет размеров ячеек.
import math
import pylab
import matplotlib
def plotGraph ():
# Будем рисовать график этой функции
def func (x):
"""
sinc (x)
"""
if x == 0:
return 1.0
return math.sin (x) / x
# Интервал изменения переменной по оси X
xmin = -20.0
xmax = 20.0
# Шаг между точками
dx = 0.01
# Создадим список координат по оси X на отрезке [-xmin; xmax], включая концы
xlist = matplotlib.mlab.frange (xmin, xmax, dx)
# Вычислим значение функции в заданных точках
ylist = [func (x) for x in xlist]
pylab.plot (xlist, ylist)
if __name__ == '__main__':
# Создаем таблицу (сетку) с тремя строками и двумя столбцами
rows = 3
cols = 2
# При создании сетки появились два новых параметра:
# width_ratios - список соотношений ширин ячеек.
# В данном случае ширина второго столбца будет в 1.5 раза больше первого
# height_ratios - список соотношений высот ячеек
# В данном случае высота второй строки будет в 2 раза больше первого,
# а высота третьей строки будет в 3 раза больше первой (в 1.5 раза больше второй)
grid = matplotlib.gridspec.GridSpec(rows,
cols,
width_ratios=[1, 1.5],
height_ratios=[1, 2, 3])
for n in range (rows * cols):
pylab.subplot (grid[n])
plotGraph()
pylab.show()