Metadata-Version: 2.4
Name: centralgraphics
Version: 1.0.0
Summary: Библиотека для создания стилизованных графиков в дизайне Центрального Университета
Author: @v1adicke
License: MIT
Project-URL: Homepage, https://github.com/v1adicke/central-graphics
Keywords: visualization,charts,matplotlib,seaborn,central university
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pandas>=1.0.0
Requires-Dist: matplotlib>=3.0.0
Requires-Dist: seaborn>=0.11.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0.0; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"

# CentralGraphics

Библиотека для создания стилизованных графиков в дизайне Центрального Университета с использованием matplotlib и seaborn

## Установка

Библиотеку можно установить через стандартный менеджер пакетов Python `pip`

**Windows**:
```bash
python -m pip install centralgraphics
```

**macOS / Linux**:
```bash
pip3 install centralgraphics
```

Если `pip` настроен как пакетный менеджер по умолчанию:
```bash
pip install centralgraphics
```

### Установка из исходного кода (для разработки)

```bash
git clone https://github.com/v1adicke/central-graphics.git
cd central-graphics
pip install -e .
```

## Цветовая палитра

По умолчанию используется палитра Центрального Университета:

```python
DEFAULT_PALETTE = [
    '#775AFF',  # Фиолетовый
    '#FF662C',  # Оранжевый
    '#00A651',  # Зеленый
    '#FE68B9',  # Розовый
    '#FFDD2D'   # Желтый
]
```

## Настройка параметров класса

При создании экземпляра класса можно настроить глобальные параметры оформления:

```python
from centralgraphics import CentralGraphics

cg = CentralGraphics(
    text_color='#000000',           # Цвет текста
    background_color='#FFFFFF',     # Цвет фона
    tick_fontsize=18,               # Размер шрифта меток осей
    label_fontsize=24,              # Размер шрифта названий осей
    palette=['#FF0000', '#00FF00']  # Пользовательская палитра
)
```

## Доступные типы графиков

### Базовые графики

| Метод | Описание |
|-------|----------|
| `scatter()` | Диаграмма рассеяния |
| `lineplot()` | Линейный график (временные ряды, тренды) |
| `barplot()` | Столбчатая диаграмма (pivot-таблицы) |
| `histplot()` | Гистограмма распределения |
| `pieplot()` | Круговая диаграмма |

### Статистические графики

| Метод | Описание |
|-------|----------|
| `boxplot()` | Коробчатая диаграмма |
| `violinplot()` | Скрипичная диаграмма (boxplot + KDE) |
| `kdeplot()` | График плотности (1D или 2D) |
| `regplot()` | Диаграмма с линией регрессии |
| `pointplot()` | Точечный график с доверительными интервалами |

### Категориальные графики

| Метод | Описание |
|-------|----------|
| `countplot()` | Столбчатая диаграмма частот |
| `stripplot()` | Точечная диаграмма категорий (с jitter) |
| `swarmplot()` | Роевая диаграмма (точки не перекрываются) |

### Комбинированные и специальные

| Метод | Описание |
|-------|----------|
| `heatmap()` | Тепловая карта (корреляции, pivot-таблицы) |
| `areaplot()` | Площадной график (накопительные ряды) |
| `jointplot()` | Совмещённый график с маргиналами |

### Утилиты

| Метод | Описание |
|-------|----------|
| `save()` | Сохранение графика в файл |

## Примеры

Полные примеры всех графиков с тестовыми данными находятся в ноутбуке **[examples.ipynb](examples.ipynb)**.

## Общие параметры

Большинство методов поддерживают следующие параметры:

| Параметр | Тип | По умолчанию | Описание |
|----------|-----|--------------|----------|
| `df` | DataFrame | - | Данные для визуализации |
| `x`, `y` | str | - | Названия столбцов |
| `hue` | str | None | Столбец для группировки по цвету |
| `figsize` | tuple | (10, 10) | Размер графика |
| `x_rot`, `y_rot` | float | 0 | Угол поворота меток осей |
| `legend_fontsize` | int | 20 | Размер шрифта легенды |

## Структура проекта

```
CentralGraphics/
│
├── centralgraphics.py                   # Основной модуль с классом
├── __init__.py                          # Инициализация пакета
├── pyproject.toml                       # Конфигурация сборки
├── examples.ipynb                       # Примеры всех графиков
├── fonts/                               
│   └── Inter-VariableFont_slnt,wght.ttf # Шрифт ЦУ
├── requirements.txt                     # Зависимости
└── README.md                            # Документация
```

## Автор

tg: @v1adicke
