如何解决在Matplotlib的LATEX中使用\ text
继续以下问题:
\text does not work in a matplotlib label 和RuntimeError: Failed to process string with tex because latex could not be found
from matplotlib import pyplot as plt
import matplotlib as mpl
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}'] #for \text command
plt.plot([1,2,3])
plt.xlabel(r"$\frac{\text{Actual Value of Production}}{Demand}$",fontsize=16)
plt.show()
我遇到以下错误:
RuntimeError: Failed to process string with tex because latex could not be found
这意味着应该在本地安装乳胶。
(还有其他解决方法吗?)
在matplotlib "manual"中说,需要以下软件包:
- LaTeX
- dvipng
- Ghostscript
在Latex中使用\text
命令是否更简单?
如果不是,在OSX中最容易安装的方法是什么?
解决方法
根据此Matplotlib's documentation section,您可以使用matplotlib随附的受限TeX,而不必在本地安装任何LaTeX发行版:
您可以在任意matplotlib文本字符串中使用TeX子集标记,只需将其放在一对美元符号($)内即可。
请注意,您不需要安装TeX ,因为Matplotlib附带了自己的TeX表达式解析器,布局引擎和字体。
您收到的错误来自mpl.rcParams['text.usetex'] = True
语句,该语句强制Matplotlib将TeX解释器链接到您的本地(不存在)LaTeX发行版。现在,我知道您这样做是为了能够访问本机Matplotlib的TeX发行版中不存在的\text
函数。
有两种解决方法:
- 您可以使用
\mathrm
命令并使用\,
来增强单词之间的空格(丑陋但简单的解决方法)
from matplotlib import pyplot as plt
import matplotlib as mpl
plt.plot([1,2,3])
plt.xlabel(r'$\frac{\mathrm{Actual\,Value\,of\,Production}}\mathrm{{Demand}}$',fontsize=16)
plt.show()
- 如果您不喜欢此解决方案,则应在本地安装LaTeX。在OS X上,您可以从MacTeX获取它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。