Python 如何将matplotlib图形导出为带有可编辑文本字段的矢量图形?
我正在尝试导出多个绘图以在Adobe Illustrator中进行编辑,并尝试将标题、轴标签和条形图标签作为单独的文本字段。也就是说,如果我在Illustrator(或您选择的编辑)中单击标题,整个标题就是它自己的一个字段 以下是我如何导出没有文本字段的矢量图形:Python 如何将matplotlib图形导出为带有可编辑文本字段的矢量图形?,python,matplotlib,Python,Matplotlib,我正在尝试导出多个绘图以在Adobe Illustrator中进行编辑,并尝试将标题、轴标签和条形图标签作为单独的文本字段。也就是说,如果我在Illustrator(或您选择的编辑)中单击标题,整个标题就是它自己的一个字段 以下是我如何导出没有文本字段的矢量图形: plt.bar(x_data, y_data) plt.title('Fancy Title') plt.xlabel('Informative X label') plt.ylabel('Felicitous Y label') p
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()
这输出了一个很好的矢量图形,但我不能将文本编辑为字段。我可以通过一个文本转换软件运行它,但这会稍微移动文本,使所有内容都显示为关闭状态,并让软件进行字体检测。您可以将svg fonttype设置为无:
import matplotlib.pyplot as plt
plt.rcParams['svg.fonttype'] = 'none'
以下方法也有效:
plt.savefig(“filename.pdf”)
i、 文件/导入。。。然后选择选项
import matplotlib as mpl
mpl.rcParams['pdf.fonttype'] = 42
mpl.rcParams['ps.fonttype'] = 42
根据我的经验,默认fonttype是不可编辑的,但这个是。为什么?你确定答案是42吗?