Последние изменения - Поиск:
RSS блога RSS блога

Начало

Блог

Программки

    Google+

Плагины

Программирование

Фото

Контакты

Я в твиттере Я в ЖЖ

Шпаргалка по Matplotlib. Более гибкий способ расположения графиков с помощью subplot2grid

До сих пор для того, чтобы в одном окне расположить несколько графиков был только один способ - воспользоваться функцией subplot, которой в большинстве случаев вполне хватает. Но эта функция обладает одним недостатком - при ее использовании график может занимать только одну ячейку некой виртуальной таблицы. Да, для каждого графика можно задавать свою таблицу расположения (разное количество строк и столбцов), благодаря чему может казаться, что график занимает несколько ячеек, но все-равно такой подход довольно ограничен.

В Matplotlib 1.0.0 появился новый, более гибкий способ расположения графиков с помощью фунции subplot2grid, которая позволяет занимать графику несколько ячеек таблицы. Например, subplot2grid, в отличие от subplot, позволяет создать вот такое расположение осей для графиков:

subplot2grid.png: 841x768, 24k (02.08.2010 18:03)

В данном примере намеренно не приводится вывод самого графика, чтобы сосредоточить внимание на использовании функции subplot2grid. Все комментарии по использованию subplot2grid даны в тексте скрипта.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

# Импортируем один из пакетов Matplotlib
import pylab

# Таблица графиков будет иметь три строки и три столбца (3,3)

# Вывод будет осуществляться в ячейку с координатами (0, 0),
# то есть 0-ая строка и 0-ой столбец
# Оси для графика будут занимать две ячейки по горизонтали (colspan = 2)
# и две ячейки по вертикали (rowspan = 2)
pylab.subplot2grid ((3,3), (0, 0), colspan = 2, rowspan = 2)
pylab.title ("Graph1")

# Вывод будет осуществляться в ячейку с координатами (0, 2),
# то есть 0-ая строка и 2-ой столбец (нумерация начинается с нуля)
# Оси для графика будут занимать две ячейки по вертикали (rowspan = 2)
pylab.subplot2grid ((3,3), (0, 2), rowspan = 2)
pylab.title ("Graph2")

# Вывод будет осуществляться в ячейку с координатами (2, 0),
# то есть 2-ая строка и 0-ой столбец
# Оси для графика будут занимать одну ячейку по вертикали и горизонтали
# Аналог этого вызова - pylab.subplot (3, 3, 7)
pylab.subplot2grid ((3,3), (2, 0))
pylab.title ("Graph3")

# Вывод будет осуществляться в ячейку с координатами (2, 1),
# то есть 2-ая строка и 1-ый столбец
# Оси для графика будут занимать две ячейки по горизонтали (colspan = 2)
pylab.subplot2grid ((3,3), (2, 1), colspan = 2)
pylab.title ("Graph4")

pylab.show()

Остальные примеры

Пожалуйста, оцените материал

5 stars Рейтинг 4.7/5. Всего 3 голос(а, ов)




Подписаться на комментарии
Автор:
Тема:
 Ваш комментарий
 
 
Введите код 339
 
Править - История - Печать - Последние изменения - Поиск
Последняя редакция от 10.01.2012 15:25