尝试使用LaTex字体在matplotlib图上渲染文本并出现错误“[Errno 13]权限被拒绝:“乳胶”“

sulc1iza  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(188)

问题

我尝试遵循Text rendering with LaTeX matplotlib documentation,以便Jupyter Notebook中的绘图字体(包括轴)为LaTex。我希望运行文档中提供的this example code

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['text.usetex'] = True

t = np.linspace(0.0, 1.0, 100)
s = np.cos(4 * np.pi * t) + 2

fig, ax = plt.subplots(figsize=(6, 4), tight_layout=True)
ax.plot(t, s)

ax.set_xlabel(r'\textbf{time (s)}')
ax.set_ylabel('\\textit{Velocity (\N{DEGREE SIGN}/sec)}', fontsize=16)
ax.set_title(r'\TeX\ is Number $\displaystyle\sum_{n=1}^\infty'
             r'\frac{-e^{i\pi}}{2^n}$!', fontsize=16, color='r')

当我尝试在VS代码中运行此代码时,我得到以下错误:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------〉339返回打印机(obj)340 #最后查找特殊方法名341 method = get_真实的_method(obj,self.print_method)
151,在print_figure(fig,fmt,bbox_inches,base64,**kwargs)中148从matplotlib.后端库导入图画布库149图画布库(fig)--〉151图画布.打印图(bytes_io,**kw)152数据=字节_io.getvalue()153如果fmt == 'svg':
打印图形(self,filename,dpi,facecolor,edgecolor,orientation,format,bbox_inches,pad_inches,bbox_extra_artists,backend,**kwargs)2289渲染器=获取渲染器(2290 self.figure,2291函数工具.partial(2292 print_method,orientation=orientation)2293)2294使用getattr(渲染器,“禁用绘制”,空上下文)():- 〉2295自定义图形绘制(渲染器)2297如果bbox_inches:1703错误消息=操作系统错误(错误号)-〉1704引发子异常类型(错误号,错误消息,错误文件名)1705引发子异常类型(错误消息)
权限错误:[Errno 13]权限被拒绝:“乳胶”〈图形尺寸432 x288,带1个轴〉
"我所尝试的"
我做的第一件事是确保我有文档中列出的所有正确的安装,我选择了MikTex作为我的LaTex安装。它安装在AppData文件夹中,根据我的环境变量中的路径,可以找到'latex.exe'的目录在我的系统路径中,如果我在笔记本中使用os.environ打印路径,它就会出现。
我也试着在这里检查类似的问题。我发现唯一一个有同样问题的是here,并且没有解决。我也试着按照这个问题上的建议去做,它仍然给我同样的错误。plt.rc命令也不起作用。

2wnc66cl

2wnc66cl1#

我以前也遇到过类似的问题,虽然不是专门针对matplotlib中的latex。我发现有时只为PC的管理员安装软件包,然后权限被拒绝。我找到了两个解决方案:
1.运行您的jupyter笔记本通过Anaconda提示右键单击提示和运行作为管理员;或
1.删除所有内容并重新安装整个PC的所有软件包,而不仅仅是管理员。
我希望这能帮上忙!

相关问题