Matplotlib坐标轴标签中数学表达式加粗失效问题求助
解决Matplotlib坐标轴标签中数学表达式无法粗体的问题
Matplotlib的fontweight="bold"参数仅对普通文本生效,用$包裹的数学表达式属于mathtext/LaTeX模式,需要单独用数学命令设置粗体,给你两种可行方案:
方案1:用Matplotlib内置mathtext(无需额外LaTeX环境)
直接在数学表达式里用\mathbf{}包裹需要粗体的内容,同时保留fontweight="bold"设置普通文本粗体:
import matplotlib.pyplot as plt plt.plot([1,2,3], [4,5,6]) # 普通文本靠fontweight实现粗体,数学部分用\mathbf指定粗体 plt.xlabel("X轴标签 $\mathbf{10^9}$", fontweight="bold") plt.ylabel("Y轴标签", fontweight="bold") plt.show()
如果需要单独给上标设置粗体,也可以拆写成$\mathbf{10}^{\mathbf{9}}$,效果一致。
方案2:启用LaTeX渲染(字体更规范美观)
如果你的环境安装了LaTeX,可以开启Matplotlib的LaTeX渲染,用LaTeX的\textbf{}包裹整个标签,数学部分依然用\mathbf{}:
import matplotlib.pyplot as plt # 开启LaTeX渲染配置 plt.rcParams['text.usetex'] = True plt.rcParams['font.family'] = 'serif' plt.plot([1,2,3], [4,5,6]) # 加r前缀表示原始字符串,避免转义字符干扰 plt.xlabel(r"\textbf{X轴标签 $\mathbf{10^9}$}") plt.ylabel(r"\textbf{Y轴标签}") plt.show()
两种方案都能让$10^9$与普通文本同步显示为粗体,根据你的运行环境选择即可。
内容的提问来源于stack exchange,提问作者Reza
相关产品推荐
相关产品推荐

