在MacOS 10.11中使用LaTeX进行绘图渲染时出错

时间:2015-11-08 11:45:33

标签: python matplotlib latex osx-elcapitan

我最近干净安装了OSX 10.11,使用python 3.5,Xcode,MacTex 2015安装了Anaconda并更新了所有这些。

当我想在matplotlib中使用LaTeX时,我遇到了问题。

这是一个简短的例子:

import numpy as np
import matplotlib.pyplot as plt

from matplotlib import rc

rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
rc('text', usetex=True)

b = np.array([10, 11, 12, 13],dtype=np.float)
bStd = np.array([1.4, 0.6, 0.3, 1.1],dtype=np.float)

N = len(b) 
ind = np.arange(N,dtype=np.float) 
width = 0.8   

FS=11 

fig, ax = plt.subplots(figsize=(5.9055, 3.937))

Test = ax.plot(ind,b)      
yerr = plt.errorbar(ind,b,bStd)

ax.set_title('Lorem ipsum dolor sit amet...', fontsize = FS, family = ['serif'])            
ax.set_xticks(ind)         
ax.set_xlim([-width, N-1+width])
ax.set_xticklabels( ('A','B','C','D'), fontsize = FS, family = ['serif'])
ax.set_ylabel('Value / $X/yy^2$',multialignment="center",fontsize = FS, family = ['serif'])
ax.set_ylim(0,20)

plt.tight_layout()
plt.savefig('Test.pdf', format='pdf',bbox_inches='tight')

当我尝试在matplotlib中使用TeX时,我会收到以下内容:

RuntimeError: LaTeX was not able to process the following string:
b'lp'
Here is the full report generated by LaTeX:

我认为Spyder不知道如何访问LaTeX。这可能是El Capitan新的无根功能的问题吗?

我已经搜索了网络,当然还有Stackoverflow,但我找到的建议都没有帮助过我。

你有什么想法吗?

我刚开始学习如何使用python,因此我真的没经验,这在我的例子中可见。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

使用与MacPorts一起安装的Spyder,我遇到了同样的问题,但在Mac OS终端上使用MacPorts安装的Python3,一切都编译得很好(这似乎很奇怪,因为Spyder依赖于这个版本的Python ......)。

作为一种解决方法,如果使用终端适合您,您可以直接从终端运行您的脚本(但是,请确保您通过给出可执行文件的显式路径来使用anaconda安装的python),但是这样挫败了安装Spyder等优秀GUI的目的。