Экспорт SVG из matplotlib-venn

Я начал использовать matplotlib-venn для построения диаграммы Венна. Это очень полезный инструмент, но я хотел бы знать, можно ли сохранить сгенерированный график в формате SVG (или даже в формате PDF). Я хочу сохранить вектор графика, а не растеризовать его как в png.

Я думаю, что есть способ, поэтому, если вы можете указать мне на это, это было бы очень полезно.

2 ответа

Решение

Вы можете использовать стандарт savefig метод. Просто дайте вашему выходному пути расширение.svg:

from matplotlib_venn import venn2
import matplotlib.pyplot as plt

venn2(subsets = (3, 2, 1))
plt.savefig('venn2.svg')

Вы можете сохранить в PNG с помощью .png расширение и... вы, вероятно, можете увидеть, где это происходит для других форматов.

Похоже, вам нужно настроить SVG 'backend':

API-интерфейс matplotlib или matplotlib API - это набор классов, которые выполняют тяжелую работу, создают и управляют фигурами, текстом, линиями, графиками и т. Д. (Учебник Artist). Это абстрактный интерфейс, который ничего не знает о выводе. Бэкэндами являются зависимые от устройства устройства рисования, или рендереры, которые преобразуют представление внешнего интерфейса в печатную копию или устройство отображения (Что такое бэкэнд?). Примеры бэкэндов: PS создает печатную копию PostScript®, SVG создает печатную копию Scalable Vector Graphics,...

> # The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
> # CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
> # Template.
> # You can also deploy your own backend outside of matplotlib by
> # referring to the module name (which must be in the PYTHONPATH) as
> # 'module://my_backend'. backend : qt4agg

Источник: http://matplotlib.org/Matplotlib.pdf

Другие вопросы по тегам