Julia中使用PyPlot与LatexStrings实现非斜体下标绘图标签的方法问询
解决Julia中PyPlot结合LatexStrings实现非斜体下标的问题
当然可以!你完全不需要更换PyPlot,借助你已经在用的LatexStrings包就能轻松实现和LaTeX里$z_{\text{eff}}$一致的非斜体下标效果,和原生LaTeX的语法完全兼容。
具体做法很简单,只需要在LaTeX字符串的下标部分,用\text{}(或者\mathrm{})把需要非斜体的内容包裹起来就行,PyPlot会直接把这段LaTeX代码传递给渲染引擎处理。
给你一个完整的示例代码:
using PyPlot, LatexStrings # 绘制一个简单的示例图 plot([1, 2, 3], [2, 4, 6], label=L"y = 2z_{\text{eff}}") xlabel(L"z_{\text{eff}} \text{ (非斜体下标)}") ylabel(L"y") legend() show()
这里补充两个小细节:
\text{eff}会让下标"eff"以非斜体的罗马字体显示,完美匹配你要的$z_{\text{eff}}$效果- 如果你习惯用
\mathrm{}也可以,比如L"z_{\mathrm{eff}}",两者在这种文本型下标场景下的渲染效果完全一致,选你顺手的就行
另外只要你已经正确导入LatexStrings包,PyPlot默认会启用LaTeX渲染(如果没自动开启,手动加一句rc("text", usetex=true)就行),这些LaTeX命令都能被正确解析。
内容的提问来源于stack exchange,提问作者math_lover
相关产品推荐
相关产品推荐

