2016-06-02 2 views
1

В настоящее время я использую следующие в начале моего ноутбука для создания SVG-графики:Как сделать matplotlibs nbagg backend генерировать SVG?

%matplotlib inline 
%config InlineBackend.figure_format = 'svg' 

При использовании nbagg бэкенд вместо этого (как этот: %matplotlib nbagg), участки образуются в формате PNG. Возможно ли сконфигурировать сервер nbagg для генерации SVG?

ответ

2

Agg Бэкэнд в matplotlib использует графическую библиотеку Anti-Grain Geometry для генерации растровой графики. Документация для серверных состояний:

Выхода в RGBA и PNG, необязательно JPEG и TIFF

NbAgg бэкенда обертывание бэкенда Agg (через WebAgg core) и поэтому также ограничиваются этими типами выходных.

Обратите внимание, что это просто определяет бэкэнд, используемый для формирования цифр для , просмотра. Независимо от бэкэнд, вы все равно можете сохранить цифры в формате SVG, используя figure.savefig('<filename'> format='svg') (или используя имя файла, заканчивающееся на .svg).

+0

Спасибо, это объясняет. Мне нужно попытаться настроить параметры dpi, чтобы получить лучшее качество. С настройками по умолчанию svg выглядит намного лучше, чем png. –

+0

@ BjörnPollex вы можете лучше следить за разрешением экрана (~ 96 точек на дюйм, по умолчанию) и корректировать размер фигуры. Низкое качество рисунков в ноутбуке обычно вызвано масштабированием браузера полученного изображения * после того, как оно было отображено. В Chrome (и, возможно, другие), если вы щелкните правой кнопкой мыши и выберите «Открыть изображение на новой вкладке», вы увидите «реальное» изображение. – mfitzp

Смежные вопросы