gpt4 book ai didi

matplotlib - 绘图将文本输出为路径,并且无法通过 Inkscape 转换为 LaTeX

转载 作者:行者123 更新时间:2023-12-02 07:38:31 24 4
gpt4 key购买 nike

我有一个 matplotlib 图,我想将其保存为矢量图形格式,然后在 LaTeX 文档中使用。

我通常从 matplotlib 保存它,使用 Inkscape 打开它并将其另存为 PDF+LaTeX(省略 PDF 中的文本并创建 LaTeX 文件)。这也可以通过以下方式实现:

inkscape  -D -z --file=in.pdf --export-pdf=out.pdf --export-latex

然而,对于下面的情节,文本实际上是一系列路径。每个字母都是独立的,导致 Inkscape 无法保存不同的 tex 文件。

为什么下面代码中的文本不是呈现为文本而是呈现为路径?请注意,使用 usetex=True 并没有什么区别。

谢谢。

from scipy.stats import lognorm
from matplotlib import rc

#rc('text', usetex=True)
rc('font', family='Times New Roman')
rc('font', size='20.0')

mu = 1.7
sigma = 1.1
n, bins, patches = plt.hist(data, bins=10000, facecolor='k', edgecolor='k',
normed=True, alpha=0.3, histtype='stepfilled',
label='\\noindent Empirical data')
y = lognorm.pdf( bins, sigma, scale=np.exp(mu))
plt.xlim( (0,50) )
plt.plot(bins, y, '-', color='k', linewidth=2, label='\\noindent Lognormal curve')
plt.ylim( (0, .15) )
plt.xlabel('my x label')
plt.ylabel('my y label')

plt.grid()
plt.legend()
plt.savefig(os.path.expanduser('~/myfile.svg'))

最佳答案

我遇到了同样的问题并修复了它。

http://matplotlib.org/users/customizing.html 中的 matplotlib 文档声明参数svg.fonttype的默认值为'path',这意味着导出为svg格式时字符将转换为路径。

我需要做的就是在我的脚本中添加以下行:

matplotlib.rcParams['svg.fonttype'] = 'none'

这样所有字符都会正确嵌入,我现在可以在 Inkscape 中编辑文本并将图形导出为 pdf+Latex,即 pdf 文件和 pdf_tex 文件,我将其包含在我的 tex 文件中.

关于matplotlib - 绘图将文本输出为路径,并且无法通过 Inkscape 转换为 LaTeX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14600948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com