|
Продолжим разбираться с новыми возможностями Matplotlib, появившимися в версии 1.0.0. В примере Использование класса GridSpec для расположения графиков мы уже разобрались с основами использования класса GridSpec, в этом примере посмотрим как с помощью этого класса сделать так, чтобы размеры ячеек для графиков были бы разных размеров. Причем, в данном случае речь будет идти не о том, что графики занимают несколько ячеек, регулирование размеров будет осуществляться именно за счет размеров ячеек. ![]() #!/usr/bin/env python # -*- coding: UTF-8 -*- #!/usr/bin/env python # -*- coding: UTF-8 -*- 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) # Создаем таблицу (сетку) с тремя строками и двумя столбцами 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() Пожалуйста, оцените материал
|