VSCode交互窗口中Plotly图表LaTeX符号无法渲染的问题求助
VSCode交互窗口中Plotly LaTeX符号无法渲染的解决办法
问题说明
在VSCode交互窗口运行Plotly可视化代码时,图表标题、图例等位置的LaTeX符号无法正常渲染,仅显示原始的LaTeX代码;但相同代码在Jupyter Notebook中可正常显示格式化后的数学符号。
环境信息
- Python 3.10.4
- Plotly 5.9.0
- VSCode 1.62.3
已尝试的无效方法
- 使用
r"$$"格式包裹LaTeX表达式 - 修改图表字体族设置
- 更改
plotly.io.renderers.default参数 - 在conda环境安装MathJax并尝试适配Plotly离线模式
测试代码示例
import plotly.graph_objs as go fig = go.Figure() fig.add_trace(go.Scatter( x=[1, 2, 3, 4], y=[1, 4, 9, 16], name=r'$\alpha_{1c} = 352 \pm 11 \text{ km s}^{-1}$' )) fig.add_trace(go.Scatter( x=[1, 2, 3, 4], y=[0.5, 2, 4.5, 8], name=r'$\beta_{1c} = 25 \pm 11 \text{ km s}^{-1}$' )) fig.update_layout( xaxis_title=r'$\sqrt{(n_\text{c}(t|{T_\text{early}}))}$', yaxis_title=r'$d, r \text{ (solar radius)}$' ) fig.show()
效果对比
- 当前实际渲染效果:

- 预期渲染效果:

可行解决方案
1. 切换至浏览器渲染器
在代码开头添加渲染器配置,让Plotly在系统默认浏览器中打开图表,浏览器会自动加载MathJax渲染LaTeX:
import plotly.io as pio # 设置默认渲染器为浏览器 pio.renderers.default = 'browser'
执行fig.show()后,图表会在浏览器中打开,LaTeX符号可正常显示。
2. 配置VSCode交互窗口的MathJax支持
通过VSCode设置开启交互窗口的MathJax支持:
- 打开VSCode设置(快捷键
Ctrl+,) - 搜索
Jupyter: Mathjax Enabled,确保选项处于勾选状态 - 搜索
Jupyter: Mathjax Url,设置为https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js - 重启VSCode的交互窗口,重新运行代码
3. 手动启用Plotly离线模式
尝试使用Plotly离线模式并指定notebook渲染器:
import plotly.offline as pyo # 初始化离线模式 pyo.init_notebook_mode(connected=True) # 显示图表时指定渲染器 fig.show(renderer='notebook')
确保conda环境中已安装MathJax,且VSCode能正常访问相关资源。
内容的提问来源于stack exchange,提问作者Antoine
相关产品推荐
相关产品推荐

