Оптимизация размера блокнота Jupyter и качества иллюстраций
Ввиду ограничений предварительного просмотра GitHub хочется, с одной
стороны, иметь сравнительно небольшие файлы записок .ipynb
, а с другой
стороны, хотелось бы иметь качество получше. И всё это с минимальными
затратами.
Известные мне варианты настроек записки:
# %config InlineBackend.figure_formats = [ "retina" ] # 2,8M
# %config InlineBackend.figure_formats = [ "png2x" ] # Синоним "retina"? 2,8M
# %config InlineBackend.figure_formats = [ "svg" ] # Сохраняет PNG внутри SVG, 880K
# Эти уже, бывает, нехорошо выглядят.
# %config InlineBackend.figure_formats = [ "png" ] # По умолчанию, 868K
%config InlineBackend.figure_formats = [ "jpeg" ] # Режем для GitHub, 172K
%config InlineBackend.print_figure_kwargs = {'pil_kwargs': {'quality' : 90, \
'optimize': True}} # Влияет
Как я понимаю, на настоящий момент, matplotlib
не может внутрь SVG помещать JPEG или как-то иначе сжимать SVG, по крайней мере в теле
записок (тип файла svgz
в документации matplotlib
упоминается,
но как его использовать в matplotlib_inline
не описано).
Как кажется, вариант jpeg
удвоенного разрешения, а-ля png2x
,
был бы приемлем. Как бы это так сделать, что б ничего не делать?
Пример записки: https://github.com/Serge3leo/temp-cola/blob/main/ruSO/1615614-Загрузка-данных-записки/Загрузка-данных-записки.ipynb