繁体   English   中英

如何将matplotlib图形导出为带有可编辑文本字段的矢量图形?

[英]How can I export a matplotlib figure as a vector graphic with editable text fields?

我正在尝试导出多个绘图以便在Adobe Illustrator中进行编辑,我试图将标题,轴标签和条形图标签作为单独的文本字段。 即如果我在Illustrator(或您选择的编辑器)中单击标题,则整个标题都是它自己的字段。

这是我如何导出为没有文本字段的矢量图形:

plt.bar(x_data, y_data)
plt.title('Fancy Title')
plt.xlabel('Informative X label')
plt.ylabel('Felicitous Y label')
plt.draw()
fig.savefig(savepath, bbox_inches='tight', format='svg')
plt.show()

这会输出一个漂亮的矢量图形,但我无法将文本编辑为字段。 我可以通过文本转换软件来运行它,但是它会轻微地移动文本并使所有内容都显示为关闭并使字体检测到软件。

试试这些:

import matplotlib as mpl
mpl.rcParams['pdf.fonttype'] = 42
mpl.rcParams['ps.fonttype'] = 42

根据我的经验,默认的fonttype是不可编辑的,但是这个是。

您可以将svg fonttype设置为none:

import matplotlib.pyplot as plt
plt.rcParams['svg.fonttype'] = 'none'

以下也有效:

  1. 将图形保存为pdf, plt.savefig("filename.pdf")
  2. Inkscape中打开pdf,
    即文件/导入...然后选择 在此输入图像描述 选项。
  3. 现在,您可以编辑Inkscape中的文本。
  4. (可选)从inkscape导出图形(例如,作为svg文件)以便稍后在任何其他程序中导入它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM