matplotlib:生成矢量图

时间:2012-02-13 18:50:14

标签: matplotlib vector-graphics

我想用matplotlib生成一个矢量图。我努力了 - 但输出是光栅图像。这是我使用的:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

最后:

myfig.savefig('myfig.eps', format='eps')

我发现导出到ps会提供矢量图像,但eps的问题仍然存在。

4 个答案:

答案 0 :(得分:8)

如果您需要emf文件作为输出格式,例如要在ms word / powerpoint中插入高质量的图表,并且您愿意使用inkscape作为转换器,您可以应用此解决方案:

plt.plot([1,2], [4,5])
fig = plt.gcf()
plot_as_emf(fig, filename="C:/test.emf")

为了测试此功能,您可以运行一个简单的示例:

{{1}}

答案 1 :(得分:6)

我使用以下代码:

from matplotlib import pyplot as plt

fig, ax = plt.subplots() # or 
fig.savefig('filename.eps', format='eps')

答案 2 :(得分:1)

尝试按照http://neuroscience.telenczuk.pl/?p=331中的说明导出为pdf或svg 如果你需要eps,pdf2ps命令效果很好。

答案 3 :(得分:1)

可以尝试使用svg格式:

plt.savefig("filepath.svg", format = 'svg', dpi=300)