Matplotlib中如何为含空格的指定文本片段设置加粗?
Matplotlib冒号前含空格文本加粗解决方案
用LaTeX保留空格的加粗写法
之前用$\bf{}$时空格失效,是因为LaTeX公式环境默认忽略空格,给带空格的内容套个\mbox{}就能解决:
import matplotlib.pyplot as plt plt.text(0.5, 0.5, r'$\bf{\mbox{带空格的前缀:}}$ 普通后缀文本', fontsize=12) plt.show()
\mbox{}会强制保留内部空格,同时\bf{}让整个前缀(含冒号)加粗,刚好匹配需求。
可选:更贴近默认字体的LaTeX写法
要是觉得纯\bf{}的字体差异有点明显,换成\text{}配合加粗命令,同样用\mbox{}保留空格:
plt.text(0.5, 0.5, r'$\text{\bf{\mbox{带空格的前缀:}}}$ 普通后缀文本', fontsize=12) plt.show()
这种写法的加粗字体和Matplotlib默认加粗风格更接近,同时也能正常显示空格。
不用LaTeX的分块写法
如果不想依赖LaTeX,直接拆分文本分两次绘制,手动调整位置对齐即可:
import matplotlib.pyplot as plt fig, ax = plt.subplots() # 绘制加粗前缀 ax.text(0.2, 0.5, '带空格的前缀:', fontweight='bold', fontsize=12) # 绘制普通后缀,微调x坐标保证对齐 ax.text(0.5, 0.5, ' 普通后缀文本', fontsize=12) plt.show()
这种方式完全没有字体差异,就是需要手动调整坐标来保证文本衔接自然。
内容的提问来源于stack exchange,提问作者braggart
相关产品推荐
相关产品推荐

