library-for-plots 0.0.1
This is matplotlib wrapper.
Requires Python: >=3.13
Keywords: plot graphs

# plotlib
- ** BASICALLY A WRAPPER FOR MATPLOTLIB.PYPLOT **

Python library for creating plots based on matplotlib. (Made for an assignment)

Library for building graphs taking into account the specified requirements:
- Using the Arial 16 bold font for signatures and names
- Automatic arrangement of the legend (if more than one plot)
- the names of graphs and signatures - in Russian (constants in English)
- Support for the LaTeX syntax for Greek letters, the upper/lower indices
- Automatic numbering of graphs in multiplots
- the ability to build graphs from a file

ЗАДАНИЕ
Удобное построение графиков
Задание Создать библиотеку, приложения или функцию которой можно
использовать в дальнейшем для построение графиков, согласно требованиям
ниже. Продемонстрировать её использование на примере задачи:
Металлический брусок с площадью поперечного сечения A, сначала при
равномерно распределенной температуре θ0, до которой происходит мгновенное
нагревание точно в центре (поперечного сечения) при передаче определенного
количества энергии H. Последующие значения температуры бруска (относи-
тельно θ0), рассматриваемые как функция от времени t и координаты положе-
ния x, определяются уравнением одномерной диффузии:
θ(x, t) = H
CpA
1
√Dt
1
√4π exp

− x2
4Dt

где Cp и D – удельная теплоемкость конкретного металла на единицу объе-
ма и коэффициент теплопроводности (которые предполагаются постоянными
относительно температуры).
Начальные условия: A = 10−4, H = 103. Значения Cp и D найти в справоч-
никах для следующих металлов:
Варианты:
1. Медь и Железо;
t = 0, 001c; t = 0, 1c; t = 1c.
2. Латунь и Хром;
t = 1c; t = 10c; t = 100c.
• Расположить графики в 2 колонки по признаку металла, и 3 строки по
времени.
1
Стандартные требования к оформлению графиков:
1. Шрифт Arial.
2. Если график один на осях координат, то легенда не приводится. Если два
и более, легенда обязательна. (Сделать автоматическую проверку на это
условие)
3. Легенда не должна перекрывать данные на графиках.
4. Название графика должно удовлетворять следующим условиям:
• Быть на русском языке, кроме обозначений констант.
• Поддерживать синтаксис "Латех". Греческие буквы, верхний и ниж-
ний индексы обязательно.
• Размер шрифта 16, жирный.
5. Подписи к осям должно удовлетворять следующим условиям:
• Быть на русском языке, кроме обозначений констант и размерностей.
• Подпись к осям и шкала должна быть одного размера шрифта (14)
6. Если в одном окне 2 и более графика, они должны иметь нумерацию (а,
б, в ... или a, b, c...)
7. Несколько графиков в одном окне не должны перекрывать друг друга.
8. Несколько графиков на одной оси должны быть различимы и в цветном
и в черно-белом формате. Для этого можно использовать разный тип и
ширину линий. Цвет графика не должен быть раздражающим (кислотно-
зеленый или желтый лучше не использовать.)
Предлагаемые компоненты библиотеки
1. функция для построения графика y(x) одной командой, так что все компо-
ненты графика соответствуют приведённым требованиям. Обязательные
параметры (название и подписи) передаются дополнительными парамет-
рами этой функции.
plotGraph( x, y, ’Пропускающая способность фильтра’,
’f, Гц’, ’I, %’)
2. функция для построения нескольких графиков yi(x) на одном рисунке,
принимающая аргументы в виде массива:
2
plotSeveralGraphs( [[x, y, ’Пропускающая способность фильтра’,
’f, Гц’, ’I, %’], [..], ...] )
или при помощи объекта с дальнейшим добавлением каждой кривой:
pg = SeveralGraphs( ’result.pdf’ )
pg.addGraph(...)
pg.show()
(если имя файла для сохранения не указать, то результат просто выво-
дится на экран)
3. несколько графиков, расположенных сеткой N×M:
pg = GraphGrid(2, 3, ’result.pdf’)
for i in range(2):
for j in range(3):
pg.addGraph( ..., ..., ... )
(в данном случае создается сетка 2×3=6 частей )
4. функция для построения данных, хранящихся в текстовом файле в виде
нескольких колонок (аналогично Gnuplot)
plotFromFile( ’input.txt’, 2, 3,
’Пропускающая способность фильтра’, ’f, Гц’, ’I, %’)
В данном случае в качестве X и Y будут использованы числа из 2-й и 3-й
колонок.
Стоит предусмотреть возможность нарисовать несколько графиков на од-
ной картинке - из одного файла или нескольких.
Дополнительные баллы даются за расширение данного функционала, на-
пример на графики с погрешностями, использование высококонтрастной цве-
товой гаммы и так далее.
Планируйте, что вы далее будете использовать эту библиотеку в собственной
деятельности: при оформлении лабораторных работ, на проектной практике и
так далее – везде, где потребуется представить графики хорошо и убедительно.