---
title: "Графики"
id: "1984"
type: "page"
slug: "charts"
published_at: "2026-09-20T15:43:08+00:00"
modified_at: "2026-09-21T00:00:47+00:00"
url: "https://pastukhov.com/agents/portal/docs/charts"
markdown_url: "https://pastukhov.com/agents/portal/docs/charts.md"
excerpt: "Блок-график показывает данные в виде линий, столбцов или круговой диаграммы. Цифры для него считает скрипт,…"
---

# Графики

[https://pastukhov.com/agents/portal/docs/charts.md](https://pastukhov.com/agents/portal/docs/charts.md)

Блок-график показывает данные в виде линий, столбцов или круговой диаграммы. Цифры для него считает скрипт, поэтому график всегда строится по свежим данным: например, выручка по дням или нагрузка на сервисы за неделю.

## Два способа описать график

- **Простой способ** — скрипт возвращает два набора: категории (по оси) и серии (значения). Портал сам подбирает цвета, подписи и всплывающие подсказки. Если на графике больше одной серии, автоматически появляется легенда. Это подходит в большинстве случаев.
- **Полный способ** — скрипт возвращает готовые настройки графика: тип, оси, цвета, оформление. Нужен, когда требуется необычный вид — например, смешанный график со столбцами и линией.

## Что настраивается в самой странице

- **Высота** — от 160 до 720 точек. По умолчанию 320.
- **Время выполнения** — сколько секунд ждать расчёт, прежде чем показать ошибку.
- **Срок хранения результата** — как часто пересчитывать данные, чтобы лишний раз не тревожить источник.
- **Готовые настройки** — если заданы прямо в странице, скрипт может их дополнить, а его данные всегда важнее статичных.

## График подстраивается под тему

График сам подстраивается под светлую и тёмную тему портала: оси, подписи, подсказки и цвета линий меняются вместе с оформлением. Когда читатель переключает тему, график перерисовывается сразу, не запрашивая данные заново. Так цифры выглядят аккуратно и читаются на любом фоне.

## Как выглядит загрузка и ошибки

- **Загрузка** — на месте графика плавно пульсирует рамка нужной высоты. Экран не «прыгает»: место под график уже занято.
- **Нет данных** — если скрипт вернул пустой набор, показывается спокойная надпись «Нет данных», а не пустое поле.
- **Ошибка** — читатель видит понятное сообщение, а рядом есть кнопка, чтобы скопировать подробности и передать их агенту.
- **Библиотека не загрузилась** — если нет доступа к внешней библиотеке графиков, вместо пустого места показывается честное сообщение об этом. Остальные блоки страницы работают как обычно.

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

Дальше: как устроены формы с отправкой данных — в разделе [Формы](/agents/portal/docs/forms)
; как считаются данные — в разделе [Скрипты и зависимости](/agents/portal/docs/scripts)
; как скрипт получает и возвращает данные — в разделе [Динамические блоки на Python](/agents/portal/docs/python)
.

[← Оглавление документации](/agents/portal/docs)
