IPython Notebook:用LaTeX绘图?

时间:2013-01-17 23:15:09

标签: python matplotlib latex ipython ipython-notebook

以前已经回答过在IPython Notebook中显示LaTeX的行,但是在IPython Notebook中绘图时,如何用LaTeX字符串标记绘图的轴?

2 个答案:

答案 0 :(得分:7)

它在IPython中的工作方式与在独立脚本中的工作方式相同。此示例来自the docs

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rc('text', usetex = True)
mpl.rc('font', family = 'serif')
plt.figure(1, figsize = (6, 4))
ax = plt.axes([0.1, 0.1, 0.8, 0.7])
t = np.arange(0.0, 1.0+0.01, 0.01)
s = cos(2*2*pi*t)+2
plt.plot(t, s)

plt.xlabel(r'\textbf{time (s)}')
plt.ylabel(r'\textit{voltage (mV)}', fontsize = 16)
plt.title(r"\TeX\ is Number $\displaystyle\sum_{n=1}^\infty\frac{-e^{i\pi}}{2^n}$!",
      fontsize = 16, color = 'r')
plt.grid(True)
plt.savefig('tex_demo')
plt.show()

enter image description here

答案 1 :(得分:0)

我遇到了评论中发布的问题:pdf.image StringIO.open(attachment.download)

问题是我的默认tex命令不是指向我最新的MacTex发行版,而是指向我几年前使用macports安装的tex的旧发行版,自此以后就没有进行过更新我已经改用MacTex。

我通过在命令行上输入! LaTeX Error: File 'type1cm.sty' not found.并获得which tex(这不是MacTex的默认安装位置)来诊断此问题。

解决方案是我必须编辑$ PATH变量,以便matplotlib调用正确版本的tex。

我在/opt/local/bin/tex最后行上添加了export PATH="/usr/local/texlive/2019/bin/x86_64-darwin:$PATH"

现在,当我在命令行上写~/.bash_profile时,我得到:

echo $PATH

别忘了之后重新启动终端和jupyter服务器,以使更改生效。