Matplotlib Pyplot无法编译LaTeX代码,MikTeX已正常安装
解决Matplotlib中LaTeX渲染不生效的问题
你的问题核心是LaTeX相关的rc参数设置时机太晚——你已经调用plot()创建了绘图元素后才开启usetex,此时已生成的Axes不会应用新的文本渲染规则,调整代码顺序就能解决问题。
修正后的代码
import matplotlib.pyplot as plt from numpy import array # 先设置LaTeX参数,再执行任何绘图操作 plt.rcParams["text.usetex"] = True plt.rcParams['text.latex.preamble'] = r'\usepackage{amsmath}' xdata = array([10, 20, 30, 40, 50, 60, 70, 80, 90]) ydata = array([1, 8, 3, 3, 4, 5, 7, 8, 16]) plt.plot(xdata, ydata, 'x') plt.title(r'$\alpha$') plt.show()
额外排查方向
- 若仍不生效,可手动指定MikTeX的
latex.exe路径(替换成你实际的安装路径):plt.rcParams['text.latex.command'] = r'C:\Program Files\MiKTeX\miktex\bin\x64\latex.exe' - 避免混用
pyplot的导入方式,统一用plt.xxx调用函数,防止潜在冲突。 - 简化测试代码,只保留参数设置、绘图、标题、显示的核心逻辑,排除无关代码干扰。
内容的提问来源于stack exchange,提问作者Marius Schäuble
相关产品推荐
相关产品推荐

