Python Matplotlib:如何在同字体下加粗单个字符?
在Matplotlib中保持字体一致的同时加粗单个字符
要实现类似COOH的效果且字体统一,你之前的方法因为进入数学模式导致字体切换,这里有两种可行方案:
方案1:使用文本模式的加粗命令(无需数学环境)
Matplotlib默认关闭LaTeX渲染时,支持直接使用\textbf{}命令加粗文本,且会沿用当前文本字体,不会切换到数学字体:
import matplotlib.pyplot as plt # 确保关闭LaTeX全局渲染(默认就是False,可省略) plt.rcParams['text.usetex'] = False plt.xlabel('C\\textbf{O}OH') plt.show()
方案2:让数学模式字体匹配文本字体
如果你需要保留数学模式的用法,可以通过配置参数让数学环境的字体与文本字体对齐:
import matplotlib.pyplot as plt from matplotlib import rcParams # 设置数学文本使用自定义字体,匹配默认文本字体(以DejaVu Sans为例) rcParams['mathtext.fontset'] = 'custom' rcParams['mathtext.rm'] = 'DejaVu Sans' rcParams['mathtext.bf'] = 'DejaVu Sans:bold' plt.xlabel('C' + r'$\bf{O}$' + 'OH') plt.show()
两种方案都能保证加粗的字符和其他字符字体一致,方案1更简洁直接,适合大多数场景。
内容的提问来源于stack exchange,提问作者Huhu
相关产品推荐
相关产品推荐

