3

我已经开始使用 matplotlib-venn 来绘制维恩图。这是一个非常有用的工具,但我想知道生成的图形是否可以保存为 SVG(甚至是 pdf)格式。我想保留图形矢量,而不是像 png 那样将其栅格化。

我认为有一种方法,因此,如果您能指出我的方法,那将非常有帮助。

4

2 回答 2

3

您可以使用标准savefig方法。只需给您的输出路径一个“.svg”扩展名:

from matplotlib_venn import venn2
import matplotlib.pyplot as plt

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

您可以使用扩展名保存到 PNG,.png并且...您可能会看到其他格式的情况。

于 2017-01-20T11:09:04.610 回答
0

看起来您需要配置 SVG '后端':

matplotlib 前端或 matplotlib API 是一组完成繁重工作、创建和管理图形、文本、线条、绘图等的类(艺术家教程)。这是一个对输出一无所知的抽象接口。后端是依赖于设备的绘图设备,也称为渲染器,它将前端表示转换为硬拷贝或显示设备(什么是后端?)。后端示例:PS 创建 PostScript® 硬拷贝,SVG 创建可缩放矢量图形硬拷贝,...

> # 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

于 2017-01-11T13:41:05.803 回答