Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite купить дешевый 
компьютер родом из Dhgate.com

Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

Библиотека matplotlib

Глава 11 из книги "Архитектура приложений с открытым исходным кодом", том 2.

Оригинал: matplotlib
Автор: John Hunter, Michael Droettboom
Дата публикации: 30 Апреля 2012 г.
Перевод: А.Панин
Дата перевода: 1 Июля 2013 г.

Creative Commons: Перевод был сделан в соответствие с лицензией Creative Commons. С русским вариантом лицензии можно ознакомиться здесь.

matplotlib является библиотекой для построения графиков, созданной с использованием языка программирования Python и обладающей полной поддержкой графических 2D-операций и ограниченной поддержкой 3D-операций, которая широко используется сформированным сообществом Python-разработчиков, занимающихся научными вычислениями. Библиотека предназначена для применения в широком спектре условий. С помощью нее возможно осуществить встраивание графиков в состав пользовательского интерфейса, созданного с помощью выбранного вами тулкита, при этом на сегодняшний день библиотека поддерживает возможность интерактивного создания графиков в большинстве основных операционных систем, использующих тулкиты GTK+, Qt, Tk, FLTK, wxWidgets и Cocoa. Функции библиотеки могут вызываться интерактивно с помощью командной оболочки языка Python для построения графиков с использованием простых команд процедурного типа, очень похожих на те, что используются в таких системах, как Mathematica, IDL или MATLAB. Библиотека matplotlib также может быть встроена в состав сценария, исполняемого на веб-сервере без оборудования для вывода графики с целью создания графиков в виде файлов как растровых форматов, таких, как Portable Network Graphics (PNG), так и векторных форматов, таких, как PostScript, Portable Document Format (PDF) и Scalable Vector Graphics (SVG), которые замечательно выглядят на бумаге.

11.1. Проблема ключа аппаратной защиты

История создания библиотеки matplotlib берет свое начало с попытки одного из нас (John Hunter) избавить себя и своих исследующих эпилепсию коллег от использования пропиетарного программного пакета, предназначенного для анализа электроэнцефалограмм (EcoG). Лаборатория, в которой он работал, обладала только одной лицензией на использование программного обеспечения, поэтому различные выпускники и студенты медицинских университетов, научные сотрудники с учеными степенями, интерны и исследователи по очереди использовали ключ аппаратной защиты программного обеспечения. Система MATLAB широко использовалась в рамках сообщества биомедиков для анализа и визуализации данных, поэтому John Hunter с некоторым успехом смог заменить пропиетарное программное обеспечение на версию программного обеспечения на основе системы MATLAB, которая должна была впоследствии использоваться и совершенствоваться многими исследователями. Однако, система MATLAB рассматривает мир как массив чисел с плавающей точкой и сложность реальных медицинских записей состояния больных эпилепсией пациентов с множеством данных условий (CT, MRI, ECoG, EEG) обусловила хранение данных на различных серверах ввиду исчерпания возможностей системы MATLAB в качестве системы управления данными. Убедившись в непригодности системы MATLAB для выполнения поставленной задачи, John Hunter начал работу над новым приложением на языке Pyhon с пользовательским интерфейсом на основе тулкита GTK+, на основе которого также была построена ведущая на тот момент оконная система для Linux.

Таким образом, библиотека matplotlib изначально разрабатывалась как инструмент для визуализации данных EEG/ECoG для этого приложения на основе GTK+, а условия ее использования были продиктованы оригинальной архитектурой. Изначально библиотека matplotlib была спроектирована также с другой целью: выступить заменой инструмента для интерактивной генерации графиков на основе команд, что системе MATLAB удавалось очень хорошо. Архитектура системы MATLAB позволяла выполнять простую задачу загрузки данных из файла и построения на основе этих данных графика достаточно прозрачно, при этом использование полностью объектно-ориентированного API в данном случае привело бы к значительному усложнению синтаксиса. Поэтому библиотека matplotlib также предоставляет не зависящий от состояния интерфейс сценариев для быстрой и простой генерации графиков, аналогично тому, как это реализуется в системе MATLAB. Так как matplotlib является библиотекой, пользователи имеют доступ ко всему множеству встроенных структур данных языка Python, таких, как списки, словари, множества и другим.

Оригинальное использующее matplotlib приложение: инструмент для визуализации данных ECoG
Рисунок 11.1: Оригинальное использующее matplotlib приложение: инструмент для визуализации данных ECoG


Далее: Обзор архитектуры библиотеки matplotlib


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют