Перейти к содержанию

Происхождение и воспроизведение графиков

Одиннадцать SVG в репозитории — научные учебные графики, построенные tools/generate_guide_figures.py по настоящим вычислениям скалярного API. Это не сгенерированные художественные иллюстрации. Генератор сначала выполняет все утверждения девяти сценариев, затем рисует модели и подписи. Код сценариев и численные ожидания находятся в examples/guide.py.

Воспроизведение файлов

Из локальной копии репозитория с установленной FuzzyRoutines используйте закреплённый набор средств документации на CPython 3.14:

python -m pip install -r docs/requirements-plots.txt
python tools/generate_guide_figures.py --output-directory docs/site/content/en/assets/figures
python tools/generate_guide_figures.py --output-directory docs/site/content/en/assets/figures --check

--check побайтно сравнивает каждый ожидаемый SVG и не записывает файлы. CI документации выполняет эту проверку на Python 3.14 с закреплёнными зависимостями. SVG-идентификаторы используют фиксированную соль хеша, метаданные не содержат дату генерации, подписи используют фиксированное семейство шрифтов. Воспроизводимость относится к этому набору средств; побайтовое совпадение между разными версиями библиотек или шрифтов не обещается.

Для редакторской проверки явный --preview-directory PATH дополнительно записывает PNG в выбранный каталог. По умолчанию записываются только SVG под --output-directory. После установки зависимостей команды не обращаются к сети. Отсутствующая зависимость, устаревший график, провал проверки сценария или ошибка записи дают ненулевой код завершения.

Matplotlib и его зависимости, включая NumPy, нужны только средствам документации. Установка и импорт FuzzyRoutines их не требуют. Скрипт примеров по умолчанию не импортирует ни одну из них.

Независимая проверка научного содержания

Побайтовое сравнение SVG обнаруживает устаревшие файлы, но не доказывает математику. tests/test_guide_figures.py независимо проверяет все 401 координату каждой из 36 кривых по элементарным кусочным или экспоненциальным формулам. Также проверяются координаты точек, шесть столбцов датчиков, пороги, четырёхузловой расчёт центроида с точной рациональной арифметикой и расположение заголовков и легенд. Эталонные расчёты не вызывают библиотечные функции принадлежности. CI документации устанавливает средства построения графиков и выполняет эти тесты на установленном скалярном API перед сравнением SVG.

Правильное чтение изображений

  • Линии непрерывных моделей используют 401 точку отображения: это иллюстрации, а не доказательства точной геометрии или политика квадратуры Centroid.
  • Точки альфа-среза показывают заданную сетку из девяти узлов; выделенные контуром точки — подходящие координаты полностью перебранного дискретного универсального множества из пяти точек.
  • Диагностика шкалы использует одиннадцать координат с границами. Гладкие кривые рисунка и диагностические наблюдения дают разные виды сведений.
  • На графике нормализации показаны только дискретные точки, без интерполирующей линии или подразумеваемых промежуточных координат.
  • График центроида сопоставляет аналитические моменты с отдельным пользовательским расчётом методом трапеций по четырём точкам. Ни плотность отображаемой линии, ни этот грубый расчёт не настраивают адаптивное интегрирование библиотеки.
  • На графике операторов вторая входная степень равна 0.6, по горизонтали меняется первая. Ни одна ось не обозначает физическое измерение.

Каждое изображение имеет описательную альтернативу Markdown и заголовок/описание SVG. Страница даёт численный результат текстом, поэтому понимание примера не зависит от восприятия цвета или доступности изображения. Параметры и метки иллюстративны и не являются эмпирической калибровкой.

Графики используют SVG-бэкенд Matplotlib и поддержку метаданных savefig.